杨开元,阿里巴巴数据专家,毕业于北京大学,有10年IT行业研发经验。对RocketMQ有深入的研究,是RocketMQ源码贡献者。曾就职于甲骨文和猎豹移动,专注于大数据和实时计算。在大量的工作实践中,对MySQL、J2EE、JVM、Spring、Hadoop、Kafka、Storm、Flink都有深入研究。喜欢剖析源码,分析原理,为开源项目贡献代码。
推荐序
前言
第1章 快速入门
1.1 消息队列功能介绍
1.1.1 应用解耦
1.1.2 流量消峰
1.1.3 消息分发
1.2 RocketMQ简介
1.3 快速上手RocketMQ
1.3.1 RocketMQ的下载、安装和配置
1.3.2 启动消息队列服务
1.3.3 用命令行发送和接收消息
1.3.4 关闭消息队列
1.4 本章小结
第2章 生产环境下的配置和使用
2.1 RocketMQ各部分角色介绍
2.2 多机集群配置和部署
2.2.1 启动多个NameServer和Broker
2.2.2 配置参数介绍
2.3 发送/接收消息示例
2.4 常用管理命令
2.5 通过图形界面管理集群
2.6 本章小结
第3章 用适合的方式发送和接收消息
3.1 不同类型的消费者
3.1.1 DefaultMQPushConsumer的使用
3.1.2 DefaultMQPushConsumer的处理流程
3.1.3 DefaultMQPushConsumer的流量控制
3.1.4 DefaultMQPullConsumer
3.1.5 Consumer的启动、关闭流程
3.2 不同类型的生产者
3.2.1 DefaultMQPr
3.2.2 发送延迟消息
3.2.3 自定义消息发送规则
3.2.4 对事务的支持
3.3 如何存储队列位置信息
3.4 自定义日志输出
3.5 本章小结
第4章 分布式消息队列的协调者
第5章 消息队列的核心机制
第6章 可靠性优先的使用场景
第7章 吞吐量优先的使用场景
第8章 和其他系统交互
第9章 首个Apache中间件顶级项目
第10章 NameServer源码解析
第11章 最常用的消费类
第12章 主从同步机制
第13章 基于Netty的通信实现
杨开元著的《RocketMQ实战与原理解析/云栖社区系列丛书》由云栖社区官方出品。
作者是阿里资深数据专家,对RocketMQ有深入的研究,并有大量的实践经验。在写这本书之前,作者不仅系统、深入地阅读了RocketMQ的源代码,而且还向RocketMQ的官方开发团队深入了解了它的诸多设计细节。作者结合自己多年使用RocketMQ的经验,从开发和运维两个维度,给出了大部分场景下的优秀实践,能帮助读者在学会使用和用好RocketMQ的同时,尽量少“踩坑”。同时,本书也结合源码分析了分布式消息队列的原理,使读者可以在复杂业务场景下定制有特殊功能的消息队列。
全书共13章,在逻辑上分为两大部分:
第一部分(第1~8章):RocketMQ实战
第1~2章详细讲解了RocketMQ如何快速入门,以及在生产环境下的配置和使用;
第3~4章具体讲解了不同类型生产者和消费者的特点,以及分布式消息队列的协调者NameServer;
第5章从消息的存储、发送、复制和高可用等多个维度讲解了RocketMQ的内部机制;
第6章讨论了消息的可靠性,如何让消息队列在满足业务逻辑需求的同时稳定、可靠地长期运行;
第7章讨论了在大流量场景下,吞吐量优先时RocketMQ的使用方法;
第8章介绍RocketMQ与SpringBoot、Spark、Flink以及自定义的运维工具等其它系统的对接方法;
第二部分(第9~13章):RocketMQ原理
首先对RocketMQ的源码结构进行了整体介绍,然后深入地分析了NameServer、各种常用消费类、主从同步机制,以及基于Netty的通信的源码实现。掌握这些源代码以后,读者可以快速定制属于自己的具有特殊功能的消息中间件。
杨开元著的《RocketMQ实战与原理解析/云栖社区系列丛书》是一本非常具有实战意义的手册,可以帮助工程师快速了解RocketMQ并展开实操。理论清晰,案例实用,体现了作者深厚的技术功底。本书从开发和运维的双重视角对RocketMQ做了详细的阐述,既能满足入门读者的需求,又能满足需要通过源代码了解RocketMQ工作原理的中高端读者的需求。