RocketMQ技术内幕:RocketMQ架构设计与实现原理

RocketMQ技术内幕:RocketMQ架构设计与实现原理

作者:丁威周继锋

出版社:机械工业

出版年:2018年12月

ISBN:9787111614210

所属分类:网络科技

书刊介绍

《RocketMQ技术内幕:RocketMQ架构设计与实现原理》内容简介

本书由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
参数说明

相关推荐

微信二维码