本书以RocketMQ 4.2.0和4.3.0版本为基础,深入讲解了RocketMQ的实际使用、源码分析以及企业落地实践方案。全书共分为五大部分,内容由浅入深,旨在帮助读者全面了解RocketMQ的设计原理、实现机制和最佳实践。
作者简介
李伟,Apache RocketMQ北京社区联合发起人,RocketMQ项目Committer,RocketMQ社区Python客户端项目负责人。目前就职于北京某在线教育公司,担任数据中间件架构师,负责公司内部消息和数据流平台,对分布式存储系统设计和研发有丰富经验,热衷于知识分享和社区活动。
第一部分:消息队列入门与RocketMQ基础
- 第1章:介绍消息队列的基本概念、应用场景以及主流消息队列组件的比较。详细阐述了RocketMQ的发展历程和未来趋势。
- 第2章:深入讲解RocketMQ生产者的原理,包括生产者实现类的属性、方法以及高可靠性的实现方式。介绍了普通消息、顺序消息、事务消息等不同类型消息的发送方法。
- 第3章:探讨RocketMQ消费者的原理和最佳实践,包括消费者启动流程、消息消费过程、可靠消费机制以及消息过滤功能。
第二部分:RocketMQ架构设计
- 第4章:全面介绍RocketMQ的架构设计,包括Namesrv、Broker、生产者和消费者之间的关系。详细讲解了常见的部署拓扑关系以及生产环境中Namesrv、Broker、Console的部署和验证方法。
第三部分:RocketMQ核心组件原理
- 第5章:深入分析Namesrv的功能和工作机制,包括Topic路由管理、Broker注册与发现机制。
- 第6章:详细讲解Broker的存储机制,涵盖CommitLog、ConsumeQueue、IndexFile等核心组件的设计和实现。
- 第7章:探讨RocketMQ的事务消息和延迟消息机制,包括事务消息的两阶段提交方案、延迟消息的存储和投递机制。
第四部分:源码分析与企业实践
- 第8章:指导读者如何阅读RocketMQ的源代码,包括源代码结构、编译方法以及阅读源代码的技巧。
- 第9章:结合实际案例,分享RocketMQ在企业中的落地经验,包括集群管理、监控报警、测试环境实践以及Spring和Python客户端的接入方法。
第五部分:附录
- 提供了Namesrv和Broker的核心配置参数说明,以及Prometheus Exporter监控指标的详细注释。
读者对象
本书适合以下读者:
- 对RocketMQ有一定了解,希望深入源码的开发人员。
- 学习消息队列和分布式系统开发的初学者。
- 企业消息中间件的维护和支持人员。
- RocketMQ代码贡献者以及支持开源的技术工作者。
作者寄语
作者希望通过本书的分享,帮助读者更好地理解和使用RocketMQ,避免在实际工作中重复踩坑。同时,也鼓励读者积极参与开源社区,为RocketMQ的发展贡献力量。