作品简介

本书由RocketMQ社区早期的布道者和技术专家撰写,Apache RocketMQ创始人/Linux OpenMessaging创始人兼主席/Alibaba Messaging开源技术负责人冯嘉的高度评价并作序推荐。源码角度,本书对RocketMQ的核心技术架构,以及消息发送、消息存储、消息消费、消息过滤、顺序消息、主从同步(HA)、事务消息等主要功能模块的实现原理进行了深入分析,同时展示了源码阅读的相关技巧;应用层面,本书总结了大量RocketMQ的使用技巧。通过本书,读者将深入理解消息中间件和底层网络通讯机制的核心知识点。

丁威

Java、分布式服务架构、中间件等多个领域的技术专家,擅长高并发编程、Netty网络编程、RocketMQ等技术,国内知名开源数据库中间件MyCAT的志愿者和技术顾问。目前担任上海优速物流的技术专家和经营支撑部门的架构师。对RocketMQ有非常深入的研究,是RocketMQ社区的布道师,不仅实践经验丰富,而且对其源代码有深入且系统的研究。

周继锋

拥有10余年大型项目架构设计及实战经验,曾主导过众多分布式系统、微服务及大数据项目。在高并发、高可用、高可扩展性、高可维护性等领域有丰富经验,对Hadoop、Spark源码进行过深度分析并具有丰富的实战经验。曾在ERP、医学、互联网行业担任工程师、架构师、技术总监等职务,炼数成金高级讲师及国内知名的开源分布式数据库中间件Mycat负责人,也是《分布式数据库架构及企业实践:基于Mycat中间件》书籍的作者。

作品目录

  • 推荐序
  • 前言
  • 第1章 阅读源代码前的准备
  • 1.1 获取和调试RocketMQ的源代码
  • 1.1.1 Eclipse获取RocketMQ源码
  • 1.1.2 Eclipse调试RocketMQ源码
  • 1.1.3 IntelliJ IDEA获取RocketMQ源码
  • 1.1.4 IntelliJ IDEA调试RocketMQ源码
  • 1.2 RocketMQ源代码的目录结构
  • 1.3 RocketMQ的设计理念和目标
  • 1.3.1 设计理念
  • 1.3.2 设计目标
  • 第2章 RocketMQ路由中心NameServer
  • 2.1 NameServer架构设计
  • 2.2 NameServer启动流程
  • 2.3 NameServer路由注册、故障剔除
  • 2.3.1 路由元信息
  • 2.3.2 路由注册
  • 2.3.3 路由删除
  • 2.3.4 路由发现
  • 2.4 本章小结
  • 第3章 RocketMQ消息发送
  • 3.1 漫谈RocketMQ消息发送
  • 3.2 认识RocketMQ消息
  • 3.3 生产者启动流程
  • 3.3.1 初识DefaultMQProducer消息发送者
  • 3.3.2 消息生产者启动流程
  • 3.4 消息发送基本流程
  • 3.4.1 消息长度验证
  • 3.4.2 查找主题路由信息
  • 3.4.3 选择消息队列
  • 3.4.4 消息发送
  • 3.5 批量消息发送
  • 3.6 本章小结
  • 第4章 RocketMQ消息存储
  • 4.1 存储概要设计
  • 4.2 初识消息存储
  • 4.3 消息发送存储流程
  • 4.4 存储文件组织与内存映射
  • 4.4.1 MappedFileQueue映射文件队列
  • 4.4.2 MappedFile内存映射文件
  • 4.4.3 TransientStorePool
  • 4.5 RocketMQ存储文件
  • 4.5.1 Commitlog文件
  • 4.5.2 ConsumeQueue文件
  • 4.5.3 Index索引文件
  • 4.5.4 checkpoint文件
  • 4.6 实时更新消息消费队列与索引文件
  • 4.6.1 根据消息更新ConumeQueue
  • 4.6.2 根据消息更新Index索引文件
  • 4.7 消息队列与索引文件恢复
  • 4.7.1 Broker正常停止文件恢复
  • 4.7.2 Broker异常停止文件恢复
  • 4.8 文件刷盘机制
  • 4.8.1 Broker同步刷盘
  • 4.8.2 Broker异步刷盘
  • 4.9 过期文件删除机制
  • 4.10 本章小结
  • 第5章 RocketMQ消息消费
  • 5.1 RocketMQ消息消费概述
  • 5.2 消息消费者初探
  • 5.3 消费者启动流程
  • 5.4 消息拉取
  • 5.4.1 PullMessageService实现机制
  • 5.4.2 ProcessQueue实现机制
  • 5.4.3 消息拉取基本流程
  • 5.5 消息队列负载与重新分布机制
  • 5.6 消息消费过程
  • 5.6.1 消息消费
  • 5.6.2 消息确认(ACK)
  • 5.6.3 消费进度管理
  • 5.7 定时消息机制
  • 5.7.1 load方法
  • 5.7.2 start方法
  • 5.7.3 定时调度逻辑
  • 5.8 消息过滤机制
  • 5.9 顺序消息
  • 5.9.1 消息队列负载
  • 5.9.2 消息拉取
  • 5.9.3 消息消费
  • 5.9.4 消息队列锁实现
  • 5.10 本章小结
  • 第6章 消息过滤FilterServer
  • 6.1 ClassFilter运行机制
  • 6.2 FilterServer注册剖析
  • 6.3 类过滤模式订阅机制
  • 6.4 消息拉取
  • 6.5 本章小结
  • 第7章 RocketMQ主从同步(HA)机制
  • 7.1 RocketMQ主从复制原理
  • 7.1.1 HAService整体工作机制
  • 7.1.2 AcceptSocketService实现原理
  • 7.1.3 GroupTransferService实现原理
  • 7.1.4 HAClient实现原理
  • 7.1.5 HAConnection实现原理
  • 7.2 RocketMQ读写分离机制
  • 7.3 本章小结
  • 第8章 RocketMQ事务消息
  • 8.1 事务消息实现思想
  • 8.2 事务消息发送流程
  • 8.3 提交或回滚事务
  • 8.4 事务消息回查事务状态
  • 8.5 本章小结
  • 第9章 RocketMQ实战
  • 9.1 消息批量发送
  • 9.2 消息发送队列自选择
  • 9.3 消息过滤
  • 9.3.1 TAG模式过滤
  • 9.3.2 SQL表达模式过滤
  • 9.3.3 类过滤模式
  • 9.4 事务消息
  • 9.5 Spring整合RocketMQ
  • 9.6 Spring Cloud整合RocketMQ
  • 9.7 RocketMQ监控与运维命令
  • 9.7.1 RocktetMQ监控平台搭建
  • 9.7.2 RocketMQ管理命令
  • 9.8 应用场景分析
  • 9.9 本章小结
  • 附录A 参数说明
展开全部