1.消息中间件异步方案.pdf

目的 将短信、邮件等信息发送等一些可以解耦的业务逻辑由同步改为异步,实现 主题业务逻辑与具体业务处理的解耦。 具体方案 使用消息队列作为数据中间处理组件,将前端业务数据引入消息队列,这样 做的目的在于,当大批量数据处理时,前端业务数据产生速度可能会很快,而实 时处理或者其他处理速度跟不上,会影响整个系统处理性能,引入消息队列之后, 可以把数据临时存储在消息队列中,后端处理速度就不会影响前端业务数据的产 生,将前端业务与后台处理解除耦合,增加系统扩展性,系统各组件异步运行。 场景一:订单支付成功后发送短信、邮件通知 场景一:现状 场景一:异步实现 将下单后的消息发送(短信发送,邮件发送)以任务方式放入队列,而下单 动作本身结束,消息发送(短信发送,邮件发送)任务转由从队列获取。 异步实现扩展场景 场景二:订单支付 ,调用第三方支付进行订单状态更新 场景二:现状 场景二:异步实现 支付发起,第三方接受发起请求,将结果返给巨商汇,巨商汇接受第三方回调 反馈,将结果对应后续任务放入消息队列进行异步执行(订阅跟消息的任务进行 对该消息的处理);同时将收到第三方回调的信息反馈给第三方。(这样做的优点 有 1 :第三方回调后,巨商汇及时接收反馈收到信息情况,并及时返回给第三方 结果,结束回调通知任务。2 :由于接受到反馈结果后巨商汇平台的业务处理复 杂,交给队列进行异步处理,也能够提高用于体验。3、由于复杂的订单更新流 程放入队列,进行异步处理,也能有效的避免快捷通等第三方支付频繁回调造成 的并发问题 )。 消息中间件推荐 消息中间件中有两个角色:消息生产者和消息消费者。 MetaQ MetaQ 的存储结构是根据阿里大规模互联网应用需求,完全重新设计的一套存 储结构,使用这套存储结构可以支持上万的队列模型,并且可以支持消息查询、 分布式事务、定时队列等功能。 MetaQ 对外提供的是一个队列服务,内部实现也是完全的队列模型,这里的队 列是持久化的磁盘队列,具有非常高的可靠性,并且充分利用了操作系统 cache 来提高性能。 Meta 里同样有这消息生产者和消息消费者两个概念,消息生产者负责创建消息 并发送到 meta 服务器,meta 服务器会将消息持久化到磁盘,消息消费者从 meta 服务器拉取消息并提交给应用消费。

文档评论(0)

1亿VIP精品文档

相关文档