万亿级数据洪峰下的消息引擎Apache RocketMQ
万亿级数据洪峰下的消息引擎 Apache RocketMQ 誓嘉 自我介绍 l花名:誓嘉 l真名:王小瑞 lvintagewang@apache.org l@阿里巴巴-中间件 lApache RocketMQ 创始人, PPMC Member,Committer lOpen-Messaging创始人 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 双11万亿级数据洪峰的挑战 Apache RocketMQ 未来展望 m w a l i b a b a - i n c . c o m ©2016 Alibaba Middleware Group 阿里消息中间件演变历史 2016 2007 2010 2011 2012 2015 Notify 五彩石项目 交易核心消息流转 Napoli ActiveMQ内核 B2B大规模使用 阿里云售卖的消息中间件, 支持公有云,金融云,私 有云,聚石塔 事务消息,Push模式, 交易核心消息分发 阿里消息中间件现状 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ 未来展望 m w a l i b a b a - i n c . c o m ©2016 Alibaba Middleware Group n 历年双11消息数量变化0 码力 | 35 页 | 993.29 KB | 1 年前3万亿级数据洪峰下的消息引擎 Apache RocketMQ
万亿级数据洪峰下的消息引擎 Apache RocketMQ 誓嘉 自我介绍 l花名:誓嘉 l真名:王小瑞 lvintagewang@apache.org l@阿里巴巴-中间件 lApache RocketMQ 创始人, PPMC Member,Committer lOpen-Messaging创始人 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 双11万亿级数据洪峰的挑战 Apache RocketMQ 未来展望 m w a l i b a b a - i n c . c o m ©2016 Alibaba Middleware Group 阿里消息中间件演变历史 2016 2007 2010 2011 2012 2015 Notify 五彩石项目 交易核心消息流转 Napoli ActiveMQ内核 B2B大规模使用 阿里云售卖的消息中间件, 支持公有云,金融云,私 有云,聚石塔 事务消息,Push模式, 交易核心消息分发 阿里消息中间件现状 CONTENTS 01 02 03 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ 未来展望 m w a l i b a b a - i n c . c o m ©2016 Alibaba Middleware Group n 历年双11消息数量变化0 码力 | 35 页 | 5.82 MB | 1 年前3Apache RocketMQ 从入门到实战
技术内幕》作者,RocketMQ 官方社区优秀布道师,荣获 CSDN2020 博客之星亚军;担任中通快递研发中心资深架构师,维护『中间件兴趣圈』公 众号,主打成体系剖析 Java 主流中间件,尝试从源码分析、架构设计、实战、故障分析等 维度深刻揭晓中间件技术,已覆盖 RocketMQ、Dubbo、Sentienl、Kafka、Canal、 MyCat、ElasticJob、ElasticSearch 等。 推荐人及推荐序 RocketMQ 集群。本书不仅由浅入深的介绍了 RocketMQ 的架 构与实现,而且包含了多年线上超大规模集群开发运维经验的总结,通过本书不仅能够掌握 分布式消息平台的设计原理,对线上疑难问题排查分析、性能调优与架构设计也大有帮助。 目录 开篇:我的另一种参与 RocketMQ 开源社区的方式 6 1.1 RocketMQ 核心概念扫盲篇 10 1.2 生产环境中,autoCreateTopicEnable 一次 RocketMQ 进程自动退出排查经验分享 78 1.8 RocketMQ 主题扩分片后遇到的坑 82 1.9 RocketMQ 消息发送 system busy、broker busy 原因分析与解决方案坑 91 1.10 再谈 RocketMQ broker busy 104 1.11 从年末生产故障解锁 RocketMQ 集群部署的最佳实践 108 1.12 RocketMQ 一行代码造成大量消息丢失0 码力 | 165 页 | 12.53 MB | 1 年前3王强-Apache RocketMQ事务消息
computing storage separating architecture� 典型应⽤用场景 ⾦金金融交易易 电⼦子商务 智能制造 分布式事务 异步解耦 IoT/IIoT 决策分析 实时计算 概念模型 Broker A Producer A Topic A Broker B Topic B ConsumerGroupA ConsumerGroupB Consumer Partition Basically Available Soft-state Eventual Consistency 分布式事务解决⽅方案 XA 特点: 1. 两阶段提交 2. 仅商业化数据库⽀支持 3. ⽆无法满⾜足⾼高并发场景 分布式事务解决⽅方案 SAGA 特点: 1. 提交+补偿 2. 并发隔离性很难保证 分布式事务解决⽅方案 TCC 特点: 1. 特殊的两阶段提交0 码力 | 34 页 | 6.17 MB | 1 年前3rocketmq 服务部署
0.00(0,0 s) 0.00(0,0ms) 0 453367.41 -1.0000 单机部署 部署rocketmq-console可视化监控 1、git clone git@github.com:apache/rocketmq-externals.git 2、cd rocketmq-externals 3、git checkout0 码力 | 11 页 | 284.35 KB | 1 年前3RocketMQ v3.2.4 开发指南
........................................................................................ 14 6.3 数据存储结构 .............................................................................................. ........................................................................................ 15 6.5 数据可靠性 ............................................................................................... ............................................................................... 34 11.3 Message 数据结构 ................................................................................................0 码力 | 52 页 | 1.61 MB | 1 年前3消息中间件RocketMQ原理解析 - 斩秋
et, storeTimestamp。 2.2.3 事物状态表 事物状态表是有 MapedFileQueue 将多个文件组成一个连续的队列,它的存储单元是定 长为 24 个字节的数据, tranStateTableOffset 可以认为是事物状态消息的个数,索引偏移量, 它的值是 tranStateTable.getMaxOffset() / TSStoreUnitSize processqueue 才能被执行消费 rollback: 将消费在 msgTreeMapTemp 中的消息,放回 msgTreeMap 重新消费 commit: 将临时表 msgTreeMapTemp 数据清空,代表消费完成,放回最大偏移 值 (3) 这里是个 TreeMap,对 key 即消息的 offset 进行排序,这个样可以使得消息进 行顺序消费 "writeQueueNums":8 } Namesrv 接收 Broker 注册的 topic 信息, namesrv 只存内存,但是 broker 有任务定时推送 1. 接收数据向 RouteInfoManager 注册。 Broker 初始化加载本地配置,配置信息是以 json 格式存储在本地, rocketmq 强依赖 fastjson 作转换, RocketMq0 码力 | 57 页 | 2.39 MB | 1 年前3Apache RocketMQ on Amazon Web Services
........ 17 Page 3 of 18 背景介绍 Apache RocketMQ 是一款 java 语言开发的开源的、分布式的消息投递与流数据平台。 最早于 2016 年由阿里巴巴捐献给了 Apache 基金会,2017 年成为 Apache 的 顶级项 目,RocketMQ 具有低延迟,金融级高可用以及厂商中立的特点,目前广泛使用于国内 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 18 • (*) 跨越多个可用区的公有⼦网和私有⼦网的 VPC(由西云数据运营的 AMAZON WEB SERVICES(宁 夏)区域为 3 个,由光环新网运营的 AMAZON WEB SERVICES(北京)区域为 2 个)。 • (*) 在公有⼦网中,允许私有⼦网中的资源(RocketMQ 为由光环新网运营的 AMAZON WEB SERVICES(北京)区域,因其对外 提供 2 个可用区,本解决方案将重复使用其中一个可用区来创建第三个⼦网。 部署说明 1. 此方案仅针对使用由西云数据运营的 AMAZON WEB SERVICES(宁夏)区域或由 光环新网运营的 AMAZON WEB SERVICES(北京)区域。在开始之前,请先确保 您已经有了一个可以访问这两个区域的 AMAZON0 码力 | 18 页 | 1.55 MB | 1 年前3快速部署高可用的Apache RocketMQ 集群 - Amazon S3
........ 20 Page 3 of 21 背景介绍 Apache RocketMQ 是一款 java 语言开发的开源的、分布式的消息投递与流数据平 台。最早于 2016 年由阿里巴巴捐献给了 Apache 基金会,2017 年成为 Apache 的 顶级项目,RocketMQ 具有低延迟,金融级高可用以及厂商中立的特点,目前广泛使 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 21 • (*) 跨越多个可⽤区的公有⼦⽹和私有⼦⽹的 VPC(由西云数据运营的 亚 马逊云科技(宁 夏)区域为 3 个,由光环新⽹运营的 亚马逊云科技(北 京)区域为 2 个)。 • (*) 在公有⼦⽹中,允许私有⼦⽹中的资源(RocketMQ 实例)进⾏出站 SERVICES 区域为由光环新⽹运营的 亚马逊云科技(北京)区域,因其对 外 提供 2 个可⽤区,本解决方案将重复使⽤其中⼀个可⽤区来创建第三个 ⼦⽹。 部署说明 1. 此⽅案仅针对使⽤由西云数据运营的 亚马逊云科技(宁夏)区域或由光环新⽹ 运营的 亚马逊云科技(北京)区域。在开始之前,请先确保您已经有了⼀个可 以访问这两个区域的 AMAZON WEB SERVICES 账号。如果您在 AMAZON0 码力 | 21 页 | 2.57 MB | 1 年前3基于Apache APISIX 与RocketMQ 构建云原生一体化架构
无外部依赖,节点间松散耦合 • 自建及云上异构 IaaS 基础设施支持,降低成本 轻量级SDK: • 全面支持云原生通信标准 gRPC 协议 • 无状态 Pop 消费模式,多语言友好,易集成 从业务走向数据: • 事件流场景支撑 • 面向 SQL 的轻量级实时计算引擎 可分可合的存储计算分离: • Broker 升级为真正的无状态服务节点,无 binding • Broker和Store节点分离部署、独立扩缩 场景下,无需保证顺序,可以多个 consumer 加快数据读取速度 你集群是正常的,但我消费就是出问题了,怎么办!? 无损弹性扩缩 固定分区面临的挑战 • 无切换架构中,主节点宕机,备节点不可写,分区数量减少 • 容量不足,Kafka 分区迁移时,会导致网络风暴,耗时极长 问题重点 • 在主节点宕机时,备节点要有自动切换为主的能力 • 容量调整时,不能产生数据迁移,且要在秒级完成 固定分区使用场景 固定分区使用场景 • 任务计算过程中,会将同一个业务类型的数据发到同一个队列 • Binlog 等数据同步过程中,需要保证严格顺序 RAFT 存储支持:自动主从切换,强一致性保证 逻辑队列:秒级无损弹性扩缩,无数据复制,流量精准调度 消息与流融合索引支持 核心问题 • 消息体小且存储结构面向单 条消息,导致提升吞吐困难 • 在进行状态存储时,无 KV 语义支撑 挑战 • Commitlog0 码力 | 22 页 | 2.26 MB | 1 年前3
共 12 条
- 1
- 2