- 消息队列选型:讲解常见消息队列的对比与RocketMQ的发展史,帮助读者理解为何选择RocketMQ及其适用场景。
- 生产者使用困惑:深入剖析生产者原理与启动流程,讲解普通、顺序、延迟、事务等各类消息的发送最佳实践。
- 消费机制复杂:详细解读消费者启动机制、Rebalance机制、消费进度保存与消息过滤等消费流程中的核心问题。
- 存储原理黑盒:深度解析Broker存储机制、CommitLog索引机制、过期文件删除与主从同步等底层实现原理。
- 集群运维困难:提供Namesrv与Broker全部配置项说明、集群监控报警与Topic、消费者管理的企业级最佳实践。
- 后端开发工程师:需要在分布式系统中使用RocketMQ进行消息通信与异步解耦的开发者。
- 中间件运维人员:负责RocketMQ集群部署、监控报警与日常管理的运维工程师。
- 架构师:需要评估消息队列选型并设计高可用分布式架构的技术决策者。
- 源码爱好者:希望深入阅读RocketMQ源码、理解其底层实现原理的进阶开发者。
- 先读第1章建立全局观:理解消息队列的价值与RocketMQ发展史,明确学习目标与应用场景。
- 重点研读生产与消费章节:第2至5章是日常开发最常用的内容,建议结合代码实践深入掌握。
- 攻克存储与源码章节:第6至8章涉及底层原理与源码阅读,建议对照源码逐行调试理解。
- 参考配置项清单:将书中Namesrv、Broker配置项与监控指标作为日常运维的手册随时查阅。
- 核心原理:深入理解RocketMQ生产者、消费者、Namesrv与Broker的核心运行原理与实现机制。
- 最佳实践:掌握各类消息发送与消费方式的最佳实践,能够应对顺序、事务、延迟等复杂业务场景。
- 存储机制:理解CommitLog存储结构、索引机制与主从同步原理,具备存储层调优能力。
- 运维能力:获得集群部署、监控报警、Topic与消费者管理的企业级实战经验。
- 源码阅读:掌握RocketMQ源码结构、编译方法与阅读技巧,能够独立进行源码级问题排查。
📖 书籍简介
作 者:李伟 著

定 价:79

出 版 社:电子工业出版社

出版日期:2020年08月01日

页 数:276

装 帧:平装

ISBN:9787121392672


":Apache RocketMQ Committer编著 实用:《RocketMQ分布式消息中间件:核心原理与佳实践》分享笔者近年来在企业中治理RocketMQ的经验和所踩的坑 全面:笔者根据实践整理了RocketMQ的核心组件配置项和其说明,包含: Namesrv全部配置项(17个) Broker全部配置项(141个) Prometheus Exporter核心监控指标(82个) 图文+源码:大量图文+代码快分析,读者更易理解RocketMQ原理与代码实现等

●章 RoketMQ综述
1.1 什么是消息队列
1.2 为什么需要消息队列
1.2.1 削峰填谷
1.2.2 程序间解耦
1.2.3 异步处理
1.2.4 数据的终一致性
1.3 常见消息队列
1.4 RocketMQ的发展史与未来
1.4.1 RocketMQ的发展史
1.4.2 Apache RocketMQ的未来
第2章 RocketMQ的生产者原理和佳实践
2.1 生产者原理
2.1.1 生产者概述
2.1.2 消息结构和消息类型
2.1.3 生产者高可用
2.2 生产者启动流程
2.3 消息发送流程
2.4 发送消息佳实践
2.4.1 发送普通消息
2.4.2 发送顺序消息
2.4.3 发送延迟消息
2.4.4 发送事务消息
2.4.5 发送单向消息
2.4.6 批量消息发送
2.5 生产者佳实践总结
第3章 RocketMQ的消费流程和佳实践
3.1 消费者概述
3.1.1 消费流程
3.1.2 消费模式
3.1.3 可靠消费
3.2 消费者启动机制
3.3 消费者的Rebalance机制
3.4 消费进度保存机制
3.5 消费方式
3.5.1 Pull消费流程
3.5.2 Push消费流程
3.6 消息过滤
3.6.1 为什么要设计过滤功能
3.6.2 RocketMQ支持消息过滤
3.7 消费者佳实践总结
第4章 RocketMQ架构和部署佳实践
4.1 RocketMQ架构
4.2 常用的部署拓扑和部署实践
4.2.1 常用的拓扑图
4.2.2 同步复制、异步复制和同步刷盘、异步刷盘
4.2.3 部署实践
第5章 Namesrv
5.1 Namesrv概述
5.1.1 什么是Namesrv
5.1.2 Namesrv核心数据结构和API
5.1.3 Namesrv和Zookeeper
5.2 Namesrv架构
5.2.1 Namesrv组件
5.2.2 Namesrv启动流程
5.2.3 Namesrv停止流程
5.3 RocketMQ的路由原理
5.3.1 路由注册
5.3.2 路由剔除
第6章 Broker存储机制
6.1 Broker概述
6.1.1 什么是Broker
6.1.2 Broker存储目录结构
6.1.3 Broker启动和停止流程
6.2 Broker存储机制
6.2.1 Broker消息存储结构
6.2.2 Broker消息存储机制
6.2.3 Broker读写分离机制
6.3 Broker CommitLog索引机制
6.3.1 索引的数据结构
6.3.2 索引的构建过程
6.3.3 索引如何使用
Broker过期文件删除机制
.1 CommitLog文件的删除过程
.2 Consume Queue、Index File文件的删除过程
6.5 Broker主从同步机制
6.5.1 主从同步概述
6.5.2 主从同步流程
6.6 Broker的关机恢复机制
6.6.1 Broker关机恢复概述
6.6.2 Broker关机恢复流程
第7章 RocketMQ特性——事务消息与延迟消息机制
7.1 事务消息概述
7.2 事务消息机制
7.2.1 生产者发送事务消息和执行本地事务
7.2.2 Broker存储事务消息
7.2.3 Broker回查事务消息
7.2.4 Broker提交或回滚事务消息
7.3 延迟消息概述
7.4 延迟消息机制
7.4.1 延迟消息存储机制
7.4.2 延迟消息投递机制
第8章 RocketMQ源代码阅读
8.1 RocketMQ源代码结构概述
8.2 RocketMQ源代码编译
8.3 如何阅读源代码
8.4 源代码阅读范例:通过消息id查询消息
第9章 RocketMQ企业佳实践
9.1 RocketMQ落地概述
9.1.1 为什么选择RocketMQ
9.1.2 如何做RocketMQ的集群管理
9.2 RocketMQ集群管理
9.2.1 Topic管理
9.2.2 消费者管理
9.3 RocketMQ集群监控和报警
9.3.1 监控和报警架构
9.3.2 基于Grafana监控
9.3.3 基于Prometheus的报警
9.4 RocketMQ集群迁移
9.5 RocketMQ测试环境实践
9.6 RocketMQ接入实践
9.6.1 Spring接入RocketMQ
9.6.2 Python接入RocketMQ
附录

本书源码以RocketMQ 4.2.0和RocketMQ 4.3.0为基础,从RocketMQ的实际使用到RocketMQ的源码分析,再到RocketMQ企业落地实践方案,逐步讲解。使读者由浅入深地了解RocketMQ。本书在源码分析过程中,先讲整体流程,再按模块、步骤进行详细讲解,希望读者在阅读时能举一反三,能知其然且知其所以然。本书总共九章,分为五部分,分讲解消息队列入门和RocketMQ生产、消费原理与佳实践;第二部分从整体角度讲解RocketMQ架构;第三部分讲解RocketMQ各个组件的基本原理;第四部分深入RocketMQ,讲解如何阅读源代码、如何进行企业实践;第五部分是附录,包含Namesrv、Broker的核心参数配置说明和Exporter监控指标注释。希望读者在平时的工作中能熟悉、借鉴、参考RocketMQ的设计理念,在技术能力上更进一步,在工作中更好地服务公司。

李伟 著
李伟,Apache RocketMQ北京社区联合发起人,RocketMQ项目Commiter,RocketMQ社区Python客户端项目负责人。目前就职于北京某在线教育公司,担任数据中间件架构师,负责公司内部消息和数据流平台,对分布式存储系统设计和研发有丰富经验,热衷于知识分享和社区活动。 座右铭:Programming is not only a way to problems,but also to think!

📑 章节目录
- RocketMQ综述:消息队列的价值与发展史
- 生产者原理与最佳实践:消息结构与高可用机制
- 各类消息发送实践:顺序、延迟、事务与批量消息
- 消费者原理与最佳实践:消费流程与Rebalance机制
- Pull与Push消费流程及消息过滤机制
- RocketMQ架构与部署最佳实践
- Namesrv:路由注册、路由剔除与核心API
- Broker存储机制:消息存储结构与读写分离
- CommitLog索引机制与过期文件删除机制
- Broker主从同步与关机恢复机制
- 事务消息与延迟消息机制深度解析
- 源代码阅读方法与企业级集群管理实践