RocketMQ技术内幕:RocketMQ架构设计与实现原理(第2版)

RocketMQ技术内幕:RocketMQ架构设计与实现原理(第2版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

剖析9大模块源码,实现高性能、高可用、高吞吐量、低延迟。

内容简介

作者是RocketMQ官方认定的“优秀布道师”和技术专家,持续在RocketMQ领域深耕。本书从源码的角度分析了RocketMQ的技术架构和实现原理,第1版获得了良好的口碑,是RocketMQ领域的标志性作品,第2版做了较大幅度的更新。

全书一共11章,逻辑上可分为3个部分:

第1部分(第1章):简单介绍了RocketMQ的设计理念与目标,以及阅读RocketMQ源码的方法与技巧;

第二部分(第2~9章):从源码角度对RocketMQ的技术架构以及消息发送、消息存储、消息消费、消息过滤、顺序消息、主从同步、事务消息等主要功能模块的实现原理进行了深入分析;

第三部分(第10~11章):首先从实战的角度讲了RocketMQ监控的原理、实现和应用,然后通过各种类型的大量示例展示了RocketMQ的使用技巧。

作者简介

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

章节目录

版权信息

内容简介

作者简介

推荐语

前言

第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 设计目标

1.4 本章小结

第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.1.1 topic路由机制

3.1.2 消息发送高可用设计

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.1.1 RocketMQ存储文件的组织方式

4.1.2 内存映射

4.1.3 灵活多变的刷盘策略

4.1.4 transientStorePoolEnable机制

4.1.5 文件恢复机制

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 实时更新ConsumeQueue与Index文件

4.6.1 根据消息更新ConsumeQueue文件

4.6.2 根据消息更新Index文件

4.7 ConsumeQueue与Index文件恢复

4.7.1 Broker正常停止文件恢复

4.7.2 Broker异常停止文件恢复

4.8 文件刷盘机制

4.8.1 Broker同步刷盘

4.8.2 Broker异步刷盘

4.9 过期文件删除机制

4.10 同步双写

4.11 本章小结

第5章 RocketMQ消息消费

5.1 RocketMQ消息消费概述

5.1.1 消费队列负载机制与重平衡

5.1.2 并发消费模型

5.1.3 消息消费进度反馈机制

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 消息确认

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章 RocketMQ的ACL

6.1 什么是ACL

6.2 如何使用ACL

6.2.1 Broker端开启ACL

6.2.2 客户端使用ACL

6.3 ACL实现原理

6.3.1 Broker端ACL核心入口

6.3.2 PlainAccessValidator详解

6.3.3 PlainPermissionManager详解

6.3.4 AclClientRPCHook详解

6.4 本章小结

第7章 RocketMQ主从同步机制

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 RocketMQ元数据同步

7.3.1 从节点主动同步元数据

7.3.2 主节点消息拉取主动同步消费进度

7.4 本章小结

第8章 RocketMQ消息轨迹

8.1 消息轨迹的引入目的和使用方法

8.2 消息轨迹设计原理

8.2.1 消息轨迹数据格式

8.2.2 如何采集轨迹数据

8.2.3 如何存储消息轨迹数据

8.3 消息轨迹实现原理

8.3.1 寻找消息轨迹入口

8.3.2 消息发送轨迹数据

8.3.3 消息轨迹异步转发实现机制

8.4 本章小结

第9章 RocketMQ主从切换

9.1 主从切换引入目的

9.2 Raft协议简介

9.2.1 Leader选举

9.2.2 日志复制

9.3 RocketMQ DLedger主从切换之Leader选主

9.3.1 DLedgerLeaderElector核心类及核心属性

9.3.2 选举状态管理器初始化

9.3.3 选举状态机状态流转

9.3.4 发送投票请求与处理投票请求

9.3.5 发送心跳包与处理心跳包

9.4 RocketMQ DLedger主从切换之存储实现

9.4.1 RocketMQ DLedger核心类及核心属性

9.4.2 RocketMQ DLedger数据存储协议

9.4.3 RocketMQ DLedger索引存储协议

9.5 RocketMQ DLedger主从切换之日志追加

9.5.1 日志追加流程概述

9.5.2 判断Push队列是否已满

9.5.3 Leader节点日志存储

9.5.4 Leader节点等待从节点日志复制响应ACK

9.6 RocketMQ DLedger主从切换之日志复制

9.6.1 日志复制设计理念

9.6.2 日志复制类设计体系

9.6.3 日志转发

9.7 RocketMQ整合DLedger设计技巧与实现原理

9.7.1 数据存储兼容设计

9.7.2 数据存储兼容实现原理

9.7.3 主从切换元数据同步机制

9.8 RocketMQ主从切换实战

9.8.1 主从切换核心配置属性

9.8.2 搭建主从同步环境

9.8.3 主从同步集群升级到主从切换

9.9 本章小结

第10章 RocketMQ监控

10.1 设计理念

10.2 实现原理

10.2.1 监控相关类图

10.2.2 监控原始数据采集流程

10.3 监控数据采样机制

10.3.1 监控数据采样

10.3.2 根据采样计算统计指标

10.4 如何采集监控指标

10.5 监控实战应用

10.6 本章小结

第11章 RocketMQ实战

11.1 消息批量发送

11.2 消息发送队列自选择

11.3 消息过滤

11.3.1 TAG过滤模式

11.3.2 SQL过滤模式

11.3.3 类过滤模式

11.4 事务消息

11.5 Spring整合RocketMQ

11.6 Spring Cloud整合RocketMQ

11.7 RocketMQ监控与运维命令

11.7.1 搭建RocketMQ监控平台rocketmq-console

11.7.2 RocketMQ管理命令

11.8 应用场景分析

11.9 实战案例

11.9.1 RocketMQ集群线上故障缩容实战案例

11.9.2 RocketMQ在线扩容实战

11.10 本章小结

附录A 参数说明

附录B RocketMQ各版本概述与升级建议

RocketMQ技术内幕:RocketMQ架构设计与实现原理(第2版)是2021年由机械工业出版社华章分社出版,作者周继锋。

得书感谢您对《RocketMQ技术内幕:RocketMQ架构设计与实现原理(第2版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
企业WLAN架构与技术 电子书
从行业趋势、原理和实战案例等多角度介绍了与数据通信相关的网络架构和技术。
园区网络架构与技术 电子书
《园区网络架构与技术》以园区网络所面临的业务挑战为切入点,详细介绍了智简园区网络的架构与技术,旨在向读者全面呈现新一代园区网络的解决方案、技术实现和规划设计等内容。本书基于华为公司在网络领域多年的技术积累和实践,系统介绍了虚拟化、大数据、AI、SDN等技术方案在园区网络中的应用,为快速、高效地重构园区网络提供参考。同时,本书结合华为公司丰富的工程实施经验,提供了详细的园区网络设计方法及部署建议,为
分布式架构原理与实践 电子书
本书从软件结构的发展历史入手,描述了分布式架构的特性和存在的问题,并围绕这些问题展开了分析和实践。
云数据中心网络架构与技术(第2版) 电子书
本书以云数据中心网络面临的业务挑战为切入点,详细介绍了云数据中心网络的架构设计和技术实现,并提供了部署建议。
大数据技术原理与应用(第2版) 电子书
国内高校大数据课程知名教师倾心之作,带你“零基础”学习大数据。