《企业级云原生白皮书项目实战》——第四章 云原生中间件——4.1 消息队列RocketMQ&&Kafka——4.1.3 消息队列RocketMQ版最佳实践(上) https://developer.aliyun.com/article/1229137?spm=a2c6h.13148508.setting.30.33a64f0epOnbIV
4.1.3.3 保序
细数日常中需要保证顺序的应用场景非常多,比如证券交易过程时间优先原则,交易系统中的订单创建、支付、退款等流程,航班中的旅客登机消息处理等等。与 FIFO 原理类似,RocketMQ 提供的顺序消息即保证消息的先进先出。
图:顺序消费
4.1.3.4 分布式事务消息
在传统的事务中,多个系统或者应用组件之间的业务处理会耦合到一个大事务中,响应时间长,业务链路长从而影响系统的整体性能和可用性,甚至引起系统崩溃。消息队列rocketmq版可以将核心链路业务与可异步化处理的分支链路进行拆分,将大事务拆分成小事务,减少系统间的交互,既高效又可靠。首先生产者将半事务消息发送至消息队列RocketMQ,等待消息队列RocketMQ服务端将消息持久化成功后向客户端进行消息发送成功的响应。然后消息的生产者进行本地事务逻辑执行,
图:传统事务与RocketMQ事务消息对比
4.1.3.5 流式处理
消息队列RocketMQ版具备海量吞吐的流式存储能力,可以有效对接日志收集、数据集成和数据分析等系统。通过消息队列RocketMQ版可以将上游数据分发到下游的实时计算、离线存储等系统。通过Topic与Group多订阅的方式,轻松的将一份日志信息投递到多个业务模块,而无需针对每个模块独立部署数据采集,极大的简化了业务的复杂性以及对应工具和系统的运维投入。
图:流式处理示例