RocketMQ 原理简介
v3.0.0
©Alibaba 淘宝消息中间件项目组
2013/10/7
文档变更历史
序号
主要更改内容
更改人
更改时间
1
建立初始版本
誓嘉
vintage.wang@gmail.com
2013/5/18
2
3.0 版本补充文档
誓嘉
vintage.wang@gmail.com
2013/8/16
3
4
5
6
7
项目开源主页:https://github.com/alibaba/RocketMQ
I
目录
1 前言 .................................................................................................................................................................................... 1
2 产品发展历史 .................................................................................................................................................................... 1
3 专业术语 ........................................................................................................................................................................... 2
4 消息中间件需要解决哪些问题? ................................................................................................................................... 4
4.1 Publish/Subscribe ................................................................................................................................................. 4
4.2 Message Priority ................................................................................................................................................... 4
4.3 Message Order ..................................................................................................................................................... 4
4.4 Message Filter ....................................................................................................................................................... 5
4.5 Message Persistence ............................................................................................................................................ 5
4.6 Message Reliablity ................................................................................................................................................ 6
4.7 Low Latency Messaging ....................................................................................................................................... 6
4.8 At least Once ......................................................................................................................................................... 6
4.9 Exactly Only Once ................................................................................................................................................. 7
4.10 Broker 的 Buffer 满了怎么办? .......................................................................................................................... 7
4.11 回溯消费 ............................................................................................................................................................... 7
4.12 消息堆积 ............................................................................................................................................................... 8
4.13 分布式事务 ........................................................................................................................................................... 8
4.14 定时消息 ............................................................................................................................................................... 9
4.15 消息重试 ............................................................................................................................................................... 9
5 RocketMQ Overview ..................................................................................................................................................... 10
5.1 RocketMQ 是什么? ........................................................................................................................................... 10
5.2 RocketMQ 部署结构 ........................................................................................................................................... 11
6 RocketMQ 存储特点 ....................................................................................................................................................... 12
6.1 零拷贝原理 .......................................................................................................................................................... 12
6.2 文件系统 .............................................................................................................................................................. 12
6.3 数据存储结构 ...................................................................................................................................................... 13
7 RocketMQ 关键特性 ....................................................................................................................................................... 14
项目开源主页:https://github.com/alibaba/RocketMQ
II
7.1 单机支持 1 万以上持久化队列 ........................................................................................................................... 14
7.2 刷盘策略 .............................................................................................................................................................. 15
7.2.1 异步刷盘 .................................................................................................................................................. 16
7.2.2 同步刷盘 .................................................................................................................................................. 17
7.3 消息查询 .............................................................................................................................................................. 17
7.3.1 按照 Message Id 查询消息 ..................................................................................................................... 17
7.3.2 按照 Message Key 查询消息 .................................................................................................................. 18
7.4 服务器消息过滤 .................................................................................................................................................. 19
7.5 长轮询 Pull .......................................................................................................................................................... 20
7.6 顺序消息 ............................................................................................................................................................. 20
7.6.1 顺序消息原理 ......................................................................................................................................... 20
7.6.2 顺序消息缺陷 ......................................................................................................................................... 20
7.7 事务消息 ............................................................................................................................................................. 20
7.8 发送消息负载均衡 .............................................................................................................................................. 21
7.9 订阅消息负载均衡 .............................................................................................................................................. 21
7.10 单队列并行消费 ..................................................................................................................................................22
7.11 发送定时消息 ......................................................................................................................................................22
7.12 消息消费失败,定时重试 ..................................................................................................................................22
7.13 HA,同步双写/异步复制 ....................................................................................................................................22
7.14 单个 JVM 进程也能利用机器超大内存 ............................................................................................................ 23
7.15 消息堆积问题解决办法 ..................................................................................................................................... 24
8 RocketMQ 通信组件 ...................................................................................................................................................... 24
8.1 网络协议 ............................................................................................................................................................. 25
8.2 心跳处理 ............................................................................................................................................................. 26
项目开源主页:https://github.com/alibaba/RocketMQ
III
8.3 连接复用 ............................................................................................................................................................. 26
8.4 超时连接 ............................................................................................................................................................. 26
9 RocketMQ 服务发现(Name Server) ........................................................................................................................ 26
附录 A 参考文档、规范 ........................................................................................................................................................ 27
评论19
最新资源