 王强-Apache RocketMQ事务消息Apache RocketMQ 事务消息 王强 (辽天) 阿⾥里里巴巴 中间件技术专家 • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 Apache RocketMQ http://rocketmq.apache.org • ⾼高性能,分布式 5.0 Cloud-native, computing storage separating architecture� 典型应⽤用场景 ⾦金金融交易易 电⼦子商务 智能制造 分布式事务 异步解耦 IoT/IIoT 决策分析 实时计算 概念模型 Broker A Producer A Topic A Broker B Topic B ConsumerGroupA ClientRemotingProcessor RouteInfoManager DefaultRequestProcessor Store Service RemotingCommand • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 存储⽂文件0 码力 | 34 页 | 6.17 MB | 1 年前3 王强-Apache RocketMQ事务消息Apache RocketMQ 事务消息 王强 (辽天) 阿⾥里里巴巴 中间件技术专家 • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 Apache RocketMQ http://rocketmq.apache.org • ⾼高性能,分布式 5.0 Cloud-native, computing storage separating architecture� 典型应⽤用场景 ⾦金金融交易易 电⼦子商务 智能制造 分布式事务 异步解耦 IoT/IIoT 决策分析 实时计算 概念模型 Broker A Producer A Topic A Broker B Topic B ConsumerGroupA ClientRemotingProcessor RouteInfoManager DefaultRequestProcessor Store Service RemotingCommand • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 存储⽂文件0 码力 | 34 页 | 6.17 MB | 1 年前3
 RocketMQ v3.2.4 开发指南..................................................................................... 8 4.13 分布式事务 .................................................................................................. ...................................................................................... 16 7.1 单机支持 1 万以上持丽化队列 ....................................................................................... .........................................................................................22 7.7 事务消息 ................................................................................................0 码力 | 52 页 | 1.61 MB | 1 年前3 RocketMQ v3.2.4 开发指南..................................................................................... 8 4.13 分布式事务 .................................................................................................. ...................................................................................... 16 7.1 单机支持 1 万以上持丽化队列 ....................................................................................... .........................................................................................22 7.7 事务消息 ................................................................................................0 码力 | 52 页 | 1.61 MB | 1 年前3
 Apache RocketMQ 从入门到实战实战)? 下定决心后便开始了我的源码分析 RocketMQ 之旅,大概在 4 个多月的时间中连续 发表了 30 余篇文章,从 Nameserver、消息发送高可用设计、消息存储、消息消费、消 息过滤、事务消息等各个方面对其进行了体系化的剖析,边写边分享,边分享边传播,终于 得到了机械工业出版社华章分社的杨福川老师的认可,邀请我出书。 在杨老师和张工的帮助与指点下,经过将近半年的努力,书稿基本完稿。由于我当时是 进程可以看做是消费组 order_consumer 消费组的其中一个消费者。 1. 消费模式 那这三个消费者如何来分工来共同消费 order_topic 中的消息呢? 在 RocketMQ 中支持广播模式与集群模式。 广播模式:一个消费组内的所有消费者每一个都会处理 topic 中的每一条消息,通常用 于刷新内存缓存。 集群模式:一个消费组内的所有消费者共同消费一个 topic 中的消息,即分工协作,一 消费会 积压。 三、事务消息 事务消息并不是为了解决分布式事务,而是提供消息发送与业务落库的一致性,其实现 原理就是一次分布式事务的具体运用,请看如下示例: 上述伪代码中,将订单存储关系型数据库中和将消息发送到 MQ 这是两个不同介质的 两个操作,如果能保证消息发送、数据库存储这两个操作要么同时成功,要么同时失败, RocketMQ 为了解决该问题引入了事务消息。 温馨提示,本节主0 码力 | 165 页 | 12.53 MB | 1 年前3 Apache RocketMQ 从入门到实战实战)? 下定决心后便开始了我的源码分析 RocketMQ 之旅,大概在 4 个多月的时间中连续 发表了 30 余篇文章,从 Nameserver、消息发送高可用设计、消息存储、消息消费、消 息过滤、事务消息等各个方面对其进行了体系化的剖析,边写边分享,边分享边传播,终于 得到了机械工业出版社华章分社的杨福川老师的认可,邀请我出书。 在杨老师和张工的帮助与指点下,经过将近半年的努力,书稿基本完稿。由于我当时是 进程可以看做是消费组 order_consumer 消费组的其中一个消费者。 1. 消费模式 那这三个消费者如何来分工来共同消费 order_topic 中的消息呢? 在 RocketMQ 中支持广播模式与集群模式。 广播模式:一个消费组内的所有消费者每一个都会处理 topic 中的每一条消息,通常用 于刷新内存缓存。 集群模式:一个消费组内的所有消费者共同消费一个 topic 中的消息,即分工协作,一 消费会 积压。 三、事务消息 事务消息并不是为了解决分布式事务,而是提供消息发送与业务落库的一致性,其实现 原理就是一次分布式事务的具体运用,请看如下示例: 上述伪代码中,将订单存储关系型数据库中和将消息发送到 MQ 这是两个不同介质的 两个操作,如果能保证消息发送、数据库存储这两个操作要么同时成功,要么同时失败, RocketMQ 为了解决该问题引入了事务消息。 温馨提示,本节主0 码力 | 165 页 | 12.53 MB | 1 年前3
 Apache RocketMQ 介绍4.0) Apache RocketMQ 介绍 概要 Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容 和灵活的可伸缩性。它的一个重要特性是支持非日志类型的可靠消息传送,非常适合运用在金融和电 商务领域。目前他是Apache社区的顶级项目,在全球有超过100家公司在其业务中使用RocketMQ 开源版本。 诞生 RocketMQ起源于阿 RocketMQ 介绍 NameServer以轻量级的方式提供服务发现和路由功能,每个NameServer存有全量的路由信息,提 对等的读写服务,支持快速扩缩容。 Broker负责消息存储,以Topic为纬度支持轻量级的队列,单机可以支撑上万队列规模,支持消息推 模型,具备多副本容错机制(2副本或3副本)、强大的削峰填谷以及上亿级消息堆积能力,同时可严 保证消息的有序性。除此之外,Broker还提 Producer由用户进行分布式部署,消息由Producer通过多种负载均衡模式发送到Broker集群,发送 延时,支持快速失败。 Consumer也由用户部署,支持PUSH和PULL两种消费模式,支持集群消费和广播消息,提供实时的 息订阅机制,满足大多数消费场景。 特点 ● RocketMQ支持异步实时刷盘,同步刷盘,同步复制,异步复制。具有高可靠性。不会因为操作系 的崩溃而导致数据丢失。 ● R0 码力 | 5 页 | 375.48 KB | 1 年前3 Apache RocketMQ 介绍4.0) Apache RocketMQ 介绍 概要 Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容 和灵活的可伸缩性。它的一个重要特性是支持非日志类型的可靠消息传送,非常适合运用在金融和电 商务领域。目前他是Apache社区的顶级项目,在全球有超过100家公司在其业务中使用RocketMQ 开源版本。 诞生 RocketMQ起源于阿 RocketMQ 介绍 NameServer以轻量级的方式提供服务发现和路由功能,每个NameServer存有全量的路由信息,提 对等的读写服务,支持快速扩缩容。 Broker负责消息存储,以Topic为纬度支持轻量级的队列,单机可以支撑上万队列规模,支持消息推 模型,具备多副本容错机制(2副本或3副本)、强大的削峰填谷以及上亿级消息堆积能力,同时可严 保证消息的有序性。除此之外,Broker还提 Producer由用户进行分布式部署,消息由Producer通过多种负载均衡模式发送到Broker集群,发送 延时,支持快速失败。 Consumer也由用户部署,支持PUSH和PULL两种消费模式,支持集群消费和广播消息,提供实时的 息订阅机制,满足大多数消费场景。 特点 ● RocketMQ支持异步实时刷盘,同步刷盘,同步复制,异步复制。具有高可靠性。不会因为操作系 的崩溃而导致数据丢失。 ● R0 码力 | 5 页 | 375.48 KB | 1 年前3
 基于Apache APISIX 与RocketMQ 构建云原生一体化架构业务场景复杂、集成要求尽可能简单 • 运维及流量调拨要求高 极简架构 高性能 金融级高可靠 打造业务消息领域首选 零依赖 可扩展 低延迟 高吞吐 强同步刷盘 ACK 机制 普通消息 顺序消息 延迟消息 事务消息 重试消息 死信消息 设计思想: 1.消息不丢、高可靠是架构的基础 2.时延优先,兼顾吞吐 3.收敛业务共性问题,提供丰富的业务消息类型 4.注重可运维性、弹性扩缩、流量调拨能力建设 Trading Aliw a reM Q Ap a che In cuba tin g 分布式事务消息 原生消息轨迹,AC L 支持 存储架构全面升级,RAFT 存储开源 轻量级Pull con sum er 发布 Request-Rep ly 特性支持 IPv 6 支持 © 2 0 1 7 A l i b a b a M i d d l e w a r e G Store Store Store Store Store Store 存储集群 高可用架构升级: • 秒级故障转移,多场景容灾支持 • 无外部依赖,节点间松散耦合 • 自建及云上异构 IaaS 基础设施支持,降低成本 轻量级SDK: • 全面支持云原生通信标准 gRPC 协议 • 无状态 Pop 消费模式,多语言友好,易集成 从业务走向数据: • 事件流场景支撑 • 面向0 码力 | 22 页 | 2.26 MB | 1 年前3 基于Apache APISIX 与RocketMQ 构建云原生一体化架构业务场景复杂、集成要求尽可能简单 • 运维及流量调拨要求高 极简架构 高性能 金融级高可靠 打造业务消息领域首选 零依赖 可扩展 低延迟 高吞吐 强同步刷盘 ACK 机制 普通消息 顺序消息 延迟消息 事务消息 重试消息 死信消息 设计思想: 1.消息不丢、高可靠是架构的基础 2.时延优先,兼顾吞吐 3.收敛业务共性问题,提供丰富的业务消息类型 4.注重可运维性、弹性扩缩、流量调拨能力建设 Trading Aliw a reM Q Ap a che In cuba tin g 分布式事务消息 原生消息轨迹,AC L 支持 存储架构全面升级,RAFT 存储开源 轻量级Pull con sum er 发布 Request-Rep ly 特性支持 IPv 6 支持 © 2 0 1 7 A l i b a b a M i d d l e w a r e G Store Store Store Store Store Store 存储集群 高可用架构升级: • 秒级故障转移,多场景容灾支持 • 无外部依赖,节点间松散耦合 • 自建及云上异构 IaaS 基础设施支持,降低成本 轻量级SDK: • 全面支持云原生通信标准 gRPC 协议 • 无状态 Pop 消费模式,多语言友好,易集成 从业务走向数据: • 事件流场景支撑 • 面向0 码力 | 22 页 | 2.26 MB | 1 年前3
 万亿级数据洪峰下的消息引擎Apache RocketMQApache RocketMQ MetaQ RocketMQ Notify Aliware MQ 有序消息,Pull模式, 海量消息堆积能力 阿里云售卖的消息中间件, 支持公有云,金融云,私 有云,聚石塔 事务消息,Push模式, 交易核心消息分发 阿里消息中间件现状 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ0 码力 | 35 页 | 993.29 KB | 1 年前3 万亿级数据洪峰下的消息引擎Apache RocketMQApache RocketMQ MetaQ RocketMQ Notify Aliware MQ 有序消息,Pull模式, 海量消息堆积能力 阿里云售卖的消息中间件, 支持公有云,金融云,私 有云,聚石塔 事务消息,Push模式, 交易核心消息分发 阿里消息中间件现状 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ0 码力 | 35 页 | 993.29 KB | 1 年前3
 万亿级数据洪峰下的消息引擎 Apache RocketMQApache RocketMQ MetaQ RocketMQ Notify Aliware MQ 有序消息,Pull模式, 海量消息堆积能力 阿里云售卖的消息中间件, 支持公有云,金融云,私 有云,聚石塔 事务消息,Push模式, 交易核心消息分发 阿里消息中间件现状 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ0 码力 | 35 页 | 5.82 MB | 1 年前3 万亿级数据洪峰下的消息引擎 Apache RocketMQApache RocketMQ MetaQ RocketMQ Notify Aliware MQ 有序消息,Pull模式, 海量消息堆积能力 阿里云售卖的消息中间件, 支持公有云,金融云,私 有云,聚石塔 事务消息,Push模式, 交易核心消息分发 阿里消息中间件现状 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ0 码力 | 35 页 | 5.82 MB | 1 年前3
 消息中间件RocketMQ原理解析 - 斩秋中去,即不处理, 所以不会被消息 更新 transaction stable table: 如果是 prepared 消息记,通过 TransactionStateService 服 务将消息加到存储事务状态的表格 tranStateTable 的文件中;如果是 commitType 和 rollbackType 消息, 修改事物状态表格 tranStateTable 中的消息状态。 记 录 Transaction TSStoreUnitSize 2.2.4 事物回查 定时回查线程会定时扫描(默认每分钟)每个存储事务状态的表格文件, 遍历存储事 务状态的表格记录 如果是已经提交或者回滚的消息调过过, 如果是 prepared 状态的如果消息小于事务回查至少间隔时间(默认是一分钟)跳出终 止遍历 调 transactionCheckExecuter.gotocheck0 码力 | 57 页 | 2.39 MB | 1 年前3 消息中间件RocketMQ原理解析 - 斩秋中去,即不处理, 所以不会被消息 更新 transaction stable table: 如果是 prepared 消息记,通过 TransactionStateService 服 务将消息加到存储事务状态的表格 tranStateTable 的文件中;如果是 commitType 和 rollbackType 消息, 修改事物状态表格 tranStateTable 中的消息状态。 记 录 Transaction TSStoreUnitSize 2.2.4 事物回查 定时回查线程会定时扫描(默认每分钟)每个存储事务状态的表格文件, 遍历存储事 务状态的表格记录 如果是已经提交或者回滚的消息调过过, 如果是 prepared 状态的如果消息小于事务回查至少间隔时间(默认是一分钟)跳出终 止遍历 调 transactionCheckExecuter.gotocheck0 码力 | 57 页 | 2.39 MB | 1 年前3
 Apache RocketMQ on Amazon Web ServicesIOPS,否则此选 项将被忽略。 18 RocketMQ Version RocketMQVersion 4.7.1 选择部署的 Apache RocketMQ 的 软件版本,目前支持 4.7.1 和 4.8.0 19 NameServer Intance type NameServerInstanceType m5.large Nameserver 节点的 节点的 EC2 Instance 的类 型 12 FlushDiskType FlushDiskType ASYNC_FLUSH Apache RocketMQ 的刷盘方式, 支持 ASYNC_FLUSH 和 SYNC_FLUSH 13 Iops Iops 100 如果您选择的是 io1 卷 类型,此 设置为 EBS 卷的 IOPS,否则此选 项将被忽略。 Nameserver 节点的 EC2 实例类 型 16 RocketMQVersi on RocketMQVersion 4.7.1 选择部署的 Apache RocketMQ 的 软件版本,目前支持 4.7.1 和 4.8.0 17 VolumeSize VolumeSize 400 要挂载到 RocketMQ 所有 节点的 Amazon EBS ( 数据) 卷的⼤⼩ (以0 码力 | 18 页 | 1.55 MB | 1 年前3 Apache RocketMQ on Amazon Web ServicesIOPS,否则此选 项将被忽略。 18 RocketMQ Version RocketMQVersion 4.7.1 选择部署的 Apache RocketMQ 的 软件版本,目前支持 4.7.1 和 4.8.0 19 NameServer Intance type NameServerInstanceType m5.large Nameserver 节点的 节点的 EC2 Instance 的类 型 12 FlushDiskType FlushDiskType ASYNC_FLUSH Apache RocketMQ 的刷盘方式, 支持 ASYNC_FLUSH 和 SYNC_FLUSH 13 Iops Iops 100 如果您选择的是 io1 卷 类型,此 设置为 EBS 卷的 IOPS,否则此选 项将被忽略。 Nameserver 节点的 EC2 实例类 型 16 RocketMQVersi on RocketMQVersion 4.7.1 选择部署的 Apache RocketMQ 的 软件版本,目前支持 4.7.1 和 4.8.0 17 VolumeSize VolumeSize 400 要挂载到 RocketMQ 所有 节点的 Amazon EBS ( 数据) 卷的⼤⼩ (以0 码力 | 18 页 | 1.55 MB | 1 年前3
 快速部署高可用的Apache RocketMQ 集群 - Amazon S3IOPS,否则此 选项将被忽略。 18 RocketMQ Version RocketMQVersion 4.7.1 选择部署的 Apache RocketMQ 的软件版本,目前 支持 4.7.1,4.8.0 和 5.1.1 19 NameServer Intance type NameServerInstanceTy pe m5.large Nameserver EC2 Instance 的 类型 12 FlushDiskTyp e FlushDiskType ASYNC_FLUS H Apache RocketMQ 的刷盘方 式,支持 ASYNC_FLUSH 和 SYNC_FLUSH 13 Iops Iops 100 如果您选择的是 io1 卷 类型, 此设置为 EBS 卷的 IOPS,否则 此选 项将被忽略。 节点的 EC2 实例 类型 16 RocketMQVe rsion RocketMQVersion 4.7.1 选择部署的 Apache RocketMQ 的软件版本,目前 支持 4.7.1,4.8.0 和 5.1.1 Page 14 of 21 17 VolumeSize VolumeSize 400 要挂载到 RocketMQ 所有0 码力 | 21 页 | 2.57 MB | 1 年前3 快速部署高可用的Apache RocketMQ 集群 - Amazon S3IOPS,否则此 选项将被忽略。 18 RocketMQ Version RocketMQVersion 4.7.1 选择部署的 Apache RocketMQ 的软件版本,目前 支持 4.7.1,4.8.0 和 5.1.1 19 NameServer Intance type NameServerInstanceTy pe m5.large Nameserver EC2 Instance 的 类型 12 FlushDiskTyp e FlushDiskType ASYNC_FLUS H Apache RocketMQ 的刷盘方 式,支持 ASYNC_FLUSH 和 SYNC_FLUSH 13 Iops Iops 100 如果您选择的是 io1 卷 类型, 此设置为 EBS 卷的 IOPS,否则 此选 项将被忽略。 节点的 EC2 实例 类型 16 RocketMQVe rsion RocketMQVersion 4.7.1 选择部署的 Apache RocketMQ 的软件版本,目前 支持 4.7.1,4.8.0 和 5.1.1 Page 14 of 21 17 VolumeSize VolumeSize 400 要挂载到 RocketMQ 所有0 码力 | 21 页 | 2.57 MB | 1 年前3
共 10 条
- 1













