 基于Apache APISIX 与RocketMQ 构建云原生一体化架构基于 Apache APISIX 与 RocketMQ 构建云原生一体化架构 杜恒 ASF Member,Apache RocketMQ PMC 成员 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information APISIX 构建云原生接入体系 CONTENT Apache RocketMQ 简介 01 业务消息领域挑战 • 核心链路,稳定性要求高、时延敏感 • 容量峰值具有随机性,弹性要求高 • 业务场景复杂、集成要求尽可能简单 • 运维及流量调拨要求高 极简架构 高性能 金融级高可靠 打造业务消息领域首选 零依赖 可扩展 低延迟 高吞吐 强同步刷盘 ACK 机制 普通消息 顺序消息 多租环境带来了更高的网络及安全隔离要求 • 无限资源 vs 有限成本 • 冗长的请求链路,膨胀的技术栈 ……. 面向失败 松散耦合 基础设施解耦 极致弹性 多场景适应 低成本 高 SLA X 客户价值: X 多场景 云原生时代的挑战 云原生四要素 云原生时代的 RocketMQ admin 富客户端 轻量级 SD K API兼容 计算 云存储 VPC 网络 Kubernetes0 码力 | 22 页 | 2.26 MB | 1 年前3 基于Apache APISIX 与RocketMQ 构建云原生一体化架构基于 Apache APISIX 与 RocketMQ 构建云原生一体化架构 杜恒 ASF Member,Apache RocketMQ PMC 成员 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information APISIX 构建云原生接入体系 CONTENT Apache RocketMQ 简介 01 业务消息领域挑战 • 核心链路,稳定性要求高、时延敏感 • 容量峰值具有随机性,弹性要求高 • 业务场景复杂、集成要求尽可能简单 • 运维及流量调拨要求高 极简架构 高性能 金融级高可靠 打造业务消息领域首选 零依赖 可扩展 低延迟 高吞吐 强同步刷盘 ACK 机制 普通消息 顺序消息 多租环境带来了更高的网络及安全隔离要求 • 无限资源 vs 有限成本 • 冗长的请求链路,膨胀的技术栈 ……. 面向失败 松散耦合 基础设施解耦 极致弹性 多场景适应 低成本 高 SLA X 客户价值: X 多场景 云原生时代的挑战 云原生四要素 云原生时代的 RocketMQ admin 富客户端 轻量级 SD K API兼容 计算 云存储 VPC 网络 Kubernetes0 码力 | 22 页 | 2.26 MB | 1 年前3
 Apache RocketMQ 介绍ActiveMQ等。但在需求不断膨胀的情况下,ActiveMQ IO模块遇到了瓶颈,几经努力但改善成果不 。这时正值Kafka流行,于是引起了阿里巴巴开发团队的注意,对kafka的无限消息堆积,高效持久化 度等特性非常赞赏。但不幸的是,Kafka不能满足他们的要求,特别是在低延迟和高可靠性方面。在 种情况下,阿里巴巴决定发明一个新的消息传递引擎来处理更广泛的用例集,从传统的发布/订阅方 到大批量实时零损失容忍交易系统。 区和产品已根据ASF的精英流程和原则得到了很好的管理。 现今,Apache RocketMQ在社区各方面的努力下,茁壮发展,很多功能都得到了加强。 RocketMQ的技术概览 在我们看来,它最大的创新点在于能够通过精巧的横向、纵向扩展,不断满足与日俱增的海量消息在 吞吐、高可靠、低延迟方面的要求。 目前RocketMQ主要由NameServer、Broker、Producer以及Consumer四部分构成,如下图所示。 多种负载均衡模式发送到Broker集群,发送 延时,支持快速失败。 Consumer也由用户部署,支持PUSH和PULL两种消费模式,支持集群消费和广播消息,提供实时的 息订阅机制,满足大多数消费场景。 特点 ● RocketMQ支持异步实时刷盘,同步刷盘,同步复制,异步复制。具有高可靠性。不会因为操作系 的崩溃而导致数据丢失。 ● RocketMQ经过一系列的实践和优化,处理速度从最初的100 码力 | 5 页 | 375.48 KB | 1 年前3 Apache RocketMQ 介绍ActiveMQ等。但在需求不断膨胀的情况下,ActiveMQ IO模块遇到了瓶颈,几经努力但改善成果不 。这时正值Kafka流行,于是引起了阿里巴巴开发团队的注意,对kafka的无限消息堆积,高效持久化 度等特性非常赞赏。但不幸的是,Kafka不能满足他们的要求,特别是在低延迟和高可靠性方面。在 种情况下,阿里巴巴决定发明一个新的消息传递引擎来处理更广泛的用例集,从传统的发布/订阅方 到大批量实时零损失容忍交易系统。 区和产品已根据ASF的精英流程和原则得到了很好的管理。 现今,Apache RocketMQ在社区各方面的努力下,茁壮发展,很多功能都得到了加强。 RocketMQ的技术概览 在我们看来,它最大的创新点在于能够通过精巧的横向、纵向扩展,不断满足与日俱增的海量消息在 吞吐、高可靠、低延迟方面的要求。 目前RocketMQ主要由NameServer、Broker、Producer以及Consumer四部分构成,如下图所示。 多种负载均衡模式发送到Broker集群,发送 延时,支持快速失败。 Consumer也由用户部署,支持PUSH和PULL两种消费模式,支持集群消费和广播消息,提供实时的 息订阅机制,满足大多数消费场景。 特点 ● RocketMQ支持异步实时刷盘,同步刷盘,同步复制,异步复制。具有高可靠性。不会因为操作系 的崩溃而导致数据丢失。 ● RocketMQ经过一系列的实践和优化,处理速度从最初的100 码力 | 5 页 | 375.48 KB | 1 年前3
 RocketMQ v3.2.4 开发指南............................................................................ 16 7.1 单机支持 1 万以上持丽化队列 ................................................................................................. 月份上线,在淘宝内部被广泛使用。 三、RocketMQ 3.x 基亍公司内部开源共建原则, RocketMQ 项目只维护核心功能,丏去除了所有其他运行时依赖,核心功能最 简化。每个 BU 的个性化需求都在 RocketMQ 项目乀上迕行深度定制。RocketMQ 吐其他 BU 提供的仁仁是 Jar 包,例如要定制一个 Broker,那举只需要依赖 rocketmq-broker 返个 jar 淘宝个性化需求 为淘宝应用提供消息服务 项目开源主页:https://github.com/alibaba/RocketMQ 2  com.alipay.zpullmsg v1.0 = RocketMQ + 支付宝个性化需求 为支付宝应用提供消息服务  com.alibaba.commonmq v1.0 = Notify + RocketMQ + B2B 个性化需求0 码力 | 52 页 | 1.61 MB | 1 年前3 RocketMQ v3.2.4 开发指南............................................................................ 16 7.1 单机支持 1 万以上持丽化队列 ................................................................................................. 月份上线,在淘宝内部被广泛使用。 三、RocketMQ 3.x 基亍公司内部开源共建原则, RocketMQ 项目只维护核心功能,丏去除了所有其他运行时依赖,核心功能最 简化。每个 BU 的个性化需求都在 RocketMQ 项目乀上迕行深度定制。RocketMQ 吐其他 BU 提供的仁仁是 Jar 包,例如要定制一个 Broker,那举只需要依赖 rocketmq-broker 返个 jar 淘宝个性化需求 为淘宝应用提供消息服务 项目开源主页:https://github.com/alibaba/RocketMQ 2  com.alipay.zpullmsg v1.0 = RocketMQ + 支付宝个性化需求 为支付宝应用提供消息服务  com.alibaba.commonmq v1.0 = Notify + RocketMQ + B2B 个性化需求0 码力 | 52 页 | 1.61 MB | 1 年前3
 王强-Apache RocketMQ事务消息streaming, OLAP systems�� RocketMQ 5.0 Cloud-native, computing storage separating architecture� 典型应⽤用场景 ⾦金金融交易易 电⼦子商务 智能制造 分布式事务 异步解耦 IoT/IIoT 决策分析 实时计算 概念模型 Broker A Producer A Topic A Broker Basically Available Soft-state Eventual Consistency 分布式事务解决⽅方案 XA 特点: 1. 两阶段提交 2. 仅商业化数据库⽀支持 3. ⽆无法满⾜足⾼高并发场景 分布式事务解决⽅方案 SAGA 特点: 1. 提交+补偿 2. 并发隔离性很难保证 分布式事务解决⽅方案 TCC 特点: 1. 特殊的两阶段提交 2. Try阶段检查/锁定资源 service Account service Send message Receive message 先执⾏行行本地事务还是先发送消息? 交易易型分布式事务的 RocketMQ使⽤用场景 分布式事务解决⽅方案 半消息 远程事务 特点: 1. 稳定,⽀支持⾼高并发 2. 回查机制可靠易易⽤用 3. 不不引⼊入额外的依赖 注意:回查⽅方法需要幂等 Broker 实现细节0 码力 | 34 页 | 6.17 MB | 1 年前3 王强-Apache RocketMQ事务消息streaming, OLAP systems�� RocketMQ 5.0 Cloud-native, computing storage separating architecture� 典型应⽤用场景 ⾦金金融交易易 电⼦子商务 智能制造 分布式事务 异步解耦 IoT/IIoT 决策分析 实时计算 概念模型 Broker A Producer A Topic A Broker Basically Available Soft-state Eventual Consistency 分布式事务解决⽅方案 XA 特点: 1. 两阶段提交 2. 仅商业化数据库⽀支持 3. ⽆无法满⾜足⾼高并发场景 分布式事务解决⽅方案 SAGA 特点: 1. 提交+补偿 2. 并发隔离性很难保证 分布式事务解决⽅方案 TCC 特点: 1. 特殊的两阶段提交 2. Try阶段检查/锁定资源 service Account service Send message Receive message 先执⾏行行本地事务还是先发送消息? 交易易型分布式事务的 RocketMQ使⽤用场景 分布式事务解决⽅方案 半消息 远程事务 特点: 1. 稳定,⽀支持⾼高并发 2. 回查机制可靠易易⽤用 3. 不不引⼊入额外的依赖 注意:回查⽅方法需要幂等 Broker 实现细节0 码力 | 34 页 | 6.17 MB | 1 年前3
 Apache RocketMQ 从入门到实战推荐人 杜恒,Apache RocketMQ PMC Member/ committer,Linux OpenMessaging TSC Member,目前负责 RocketMQ 专有云商业化以 及开源技术生态构建。具有多年分布式系统、中间件 研究及工程经验。目前对分布式中间件、K8s、微服 务、物联网、Serverless 感兴趣。 推荐序 Apache RocketMQ 作为 下定决心后便开始了我的源码分析 RocketMQ 之旅,大概在 4 个多月的时间中连续 发表了 30 余篇文章,从 Nameserver、消息发送高可用设计、消息存储、消息消费、消 息过滤、事务消息等各个方面对其进行了体系化的剖析,边写边分享,边分享边传播,终于 得到了机械工业出版社华章分社的杨福川老师的认可,邀请我出书。 在杨老师和张工的帮助与指点下,经过将近半年的努力,书稿基本完稿。由于我当时是 一位名不经传的 nameserver,只有在连接出现异常时才会向尝试连接另外一台。客户 端每隔 30s 向 Nameserver 发起 topic 的路由信息查询。 温馨提示:Nameserver 是在内存中存储 Topic 的路由信息,持久化 Topic 路由信息 的地方是在 Broker 中,即${ ROCKETMQ_HOME}/store/config/topics.json。 在 RocketMQ4.5.0 版本后引入了多副本机制,即一个复制组(m-s)可以演变为基0 码力 | 165 页 | 12.53 MB | 1 年前3 Apache RocketMQ 从入门到实战推荐人 杜恒,Apache RocketMQ PMC Member/ committer,Linux OpenMessaging TSC Member,目前负责 RocketMQ 专有云商业化以 及开源技术生态构建。具有多年分布式系统、中间件 研究及工程经验。目前对分布式中间件、K8s、微服 务、物联网、Serverless 感兴趣。 推荐序 Apache RocketMQ 作为 下定决心后便开始了我的源码分析 RocketMQ 之旅,大概在 4 个多月的时间中连续 发表了 30 余篇文章,从 Nameserver、消息发送高可用设计、消息存储、消息消费、消 息过滤、事务消息等各个方面对其进行了体系化的剖析,边写边分享,边分享边传播,终于 得到了机械工业出版社华章分社的杨福川老师的认可,邀请我出书。 在杨老师和张工的帮助与指点下,经过将近半年的努力,书稿基本完稿。由于我当时是 一位名不经传的 nameserver,只有在连接出现异常时才会向尝试连接另外一台。客户 端每隔 30s 向 Nameserver 发起 topic 的路由信息查询。 温馨提示:Nameserver 是在内存中存储 Topic 的路由信息,持久化 Topic 路由信息 的地方是在 Broker 中,即${ ROCKETMQ_HOME}/store/config/topics.json。 在 RocketMQ4.5.0 版本后引入了多副本机制,即一个复制组(m-s)可以演变为基0 码力 | 165 页 | 12.53 MB | 1 年前3
 消息中间件RocketMQ原理解析 - 斩秋一:consumer 启动流程 指定 group 订阅 topic 注册消息监听处理器,当消息到来时消费消息 消费端 Start 复制订阅关系 初始化 rebalance 变量 构建 offsetStore 消费进度存储对象 启动消费消息服务 向 mqClientFactory 注册本消费者 启动 client 端远程通信 定时从 nameserver 获取 topic 路由信息 定时清理下线的 borker 定时向所有 broker 发送心跳信息,(包括订阅关系) 定时持久化 Consumer 消费进度(广播存储到本地,集群存储到 Broker) 统计信息打点 动态调整消费线程池 启动拉消息服务 PullMessageService ProccessQueueTable 消息中间件RocketMQ原理解析 - 斩秋一:consumer 启动流程 指定 group 订阅 topic 注册消息监听处理器,当消息到来时消费消息 消费端 Start 复制订阅关系 初始化 rebalance 变量 构建 offsetStore 消费进度存储对象 启动消费消息服务 向 mqClientFactory 注册本消费者 启动 client 端远程通信 定时从 nameserver 获取 topic 路由信息 定时清理下线的 borker 定时向所有 broker 发送心跳信息,(包括订阅关系) 定时持久化 Consumer 消费进度(广播存储到本地,集群存储到 Broker) 统计信息打点 动态调整消费线程池 启动拉消息服务 PullMessageService ProccessQueueTable- 1) 比对 mqSet 将多余的队列删除, 当 broker 当机或者添加,会导致分配到 mqSet 变 化, a) 将不在被本 consumer 消费的 messagequeue 的 ProcessQueue 删除, 其实是设 置 ProcessQueue 的 droped 属性为 true b) 0 码力 | 57 页 | 2.39 MB | 1 年前3
 快速部署高可用的Apache RocketMQ 集群 - Amazon S3部署⼀台堡垒主机,此数⽬可配置,最多启动 4 台。通过堡垒主 机访问私有⼦⽹ 中的 RocketMQ 相关节点。 • AMAZON Identity and Access Management (IAM) 实例⻆⾊,具有细 化控制的权限, ⽤于访问部署过程所需的 AMAZON WEB SERVICES 服 务。 Page 5 of 21 • (*) 安全组,⽤于在 VPC 内实现通信,且仅允许访问必需的协议和端⼝ RocketMQ 快速部署脚本做了 ⾃定义化并且 上传到了您⾃⼰ 的桶中。 25 Quick Start S3 Key Prefix QSS3KeyPrefix quickstart- rocketmq/ S3 前缀。请不要更改此选项, 除⾮您对此启动脚本做了⾃定义 Page 12 of 21 化并且存放到了不同的前缀⽬录 下。 Page 13 of 21 本做了⾃定义化并且上传到了您 ⾃⼰的桶 中。 8 Quick Start S3 Key Prefix QSS3KeyPrefix quickstart- rocketmq/ S3 前缀。请不要更改此选项, 除⾮您对此启动脚本做了⾃定义 化并且存放到了不同的前缀⽬录 下。 9 Quick Start0 码力 | 21 页 | 2.57 MB | 1 年前3 快速部署高可用的Apache RocketMQ 集群 - Amazon S3部署⼀台堡垒主机,此数⽬可配置,最多启动 4 台。通过堡垒主 机访问私有⼦⽹ 中的 RocketMQ 相关节点。 • AMAZON Identity and Access Management (IAM) 实例⻆⾊,具有细 化控制的权限, ⽤于访问部署过程所需的 AMAZON WEB SERVICES 服 务。 Page 5 of 21 • (*) 安全组,⽤于在 VPC 内实现通信,且仅允许访问必需的协议和端⼝ RocketMQ 快速部署脚本做了 ⾃定义化并且 上传到了您⾃⼰ 的桶中。 25 Quick Start S3 Key Prefix QSS3KeyPrefix quickstart- rocketmq/ S3 前缀。请不要更改此选项, 除⾮您对此启动脚本做了⾃定义 Page 12 of 21 化并且存放到了不同的前缀⽬录 下。 Page 13 of 21 本做了⾃定义化并且上传到了您 ⾃⼰的桶 中。 8 Quick Start S3 Key Prefix QSS3KeyPrefix quickstart- rocketmq/ S3 前缀。请不要更改此选项, 除⾮您对此启动脚本做了⾃定义 化并且存放到了不同的前缀⽬录 下。 9 Quick Start0 码力 | 21 页 | 2.57 MB | 1 年前3
 Apache RocketMQ on Amazon Web Services项,除⾮您对启动脚 RocketMQ 快速部署脚本做了自 定义化并且 上传到了您自己的 桶中。 25 Quick Start S3 Key Prefix QSS3KeyPrefix quickstart- rocketmq/ S3 前缀。请不要更改此选项, 除⾮您对此启动脚本做了自定义 化并且存放到了不同的前缀目录 下。 选项 2:用于将 RocketMQ 存储 桶。请不要 更改此选 项,除⾮您对启动脚 本做了自定义化并且上传到了您 自己的桶 中。 8 Quick Start S3 Key Prefix QSS3KeyPrefix quickstart- rocketmq/ S3 前缀。请不要更改此选项, 除⾮您对此启动脚本做了自定义 化并且存放到了不同的前缀目录 下。 9 Quick Start bucket region QSS3BucketRegion cn-north-1 S3 bucket 对应的 region。请不要 更改 此选项,除⾮您对此启动 脚本做了自定义化并且存放到了 不同 region 的 bucket 下面。 Other parameters 10 BrokerClusterC ount BrokerClusterCount0 码力 | 18 页 | 1.55 MB | 1 年前3 Apache RocketMQ on Amazon Web Services项,除⾮您对启动脚 RocketMQ 快速部署脚本做了自 定义化并且 上传到了您自己的 桶中。 25 Quick Start S3 Key Prefix QSS3KeyPrefix quickstart- rocketmq/ S3 前缀。请不要更改此选项, 除⾮您对此启动脚本做了自定义 化并且存放到了不同的前缀目录 下。 选项 2:用于将 RocketMQ 存储 桶。请不要 更改此选 项,除⾮您对启动脚 本做了自定义化并且上传到了您 自己的桶 中。 8 Quick Start S3 Key Prefix QSS3KeyPrefix quickstart- rocketmq/ S3 前缀。请不要更改此选项, 除⾮您对此启动脚本做了自定义 化并且存放到了不同的前缀目录 下。 9 Quick Start bucket region QSS3BucketRegion cn-north-1 S3 bucket 对应的 region。请不要 更改 此选项,除⾮您对此启动 脚本做了自定义化并且存放到了 不同 region 的 bucket 下面。 Other parameters 10 BrokerClusterC ount BrokerClusterCount0 码力 | 18 页 | 1.55 MB | 1 年前3
 万亿级数据洪峰下的消息引擎Apache RocketMQCustom apps Analytics Monitoring Open platform IM … Any protocols 1.4万亿 Apache RocketMQ – 商业化版本 感谢大家 THANKS! Alibaba Middleware l http://openmessaging.github.io/ l http://rocketmq.apache.org/0 码力 | 35 页 | 993.29 KB | 1 年前3 万亿级数据洪峰下的消息引擎Apache RocketMQCustom apps Analytics Monitoring Open platform IM … Any protocols 1.4万亿 Apache RocketMQ – 商业化版本 感谢大家 THANKS! Alibaba Middleware l http://openmessaging.github.io/ l http://rocketmq.apache.org/0 码力 | 35 页 | 993.29 KB | 1 年前3
 万亿级数据洪峰下的消息引擎 Apache RocketMQCustom apps Analytics Monitoring Open platform IM … Any protocols 1.4万亿 Apache RocketMQ – 商业化版本 感谢大家 THANKS! Alibaba Middleware l http://openmessaging.github.io/ l http://rocketmq.apache.org/0 码力 | 35 页 | 5.82 MB | 1 年前3 万亿级数据洪峰下的消息引擎 Apache RocketMQCustom apps Analytics Monitoring Open platform IM … Any protocols 1.4万亿 Apache RocketMQ – 商业化版本 感谢大家 THANKS! Alibaba Middleware l http://openmessaging.github.io/ l http://rocketmq.apache.org/0 码力 | 35 页 | 5.82 MB | 1 年前3
共 11 条
- 1
- 2













