批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!
¥ 36.62 4.6折 ¥ 79 全新
库存4件
作者李伟
出版社电子工业出版社
ISBN9787121392672
出版时间2020-07
装帧平装
开本其他
定价79元
货号29000594
上书时间2024-11-02
前 言
为什么要写这本书
2020年处于移动互联网的下半场,各种技术层出不穷,虽然数据也在爆发式增长,但是高并发、高吞吐已经不再是首要的痛点,稳定、可靠才是王道。
RocketMQ作为一款高可靠、低延迟、高并发、支持海量Topic的分布式消息中间件,服务于阿里巴巴、VIPKID、滴滴出行、微众银行、华为等国内各大企业。在阿里巴巴内的业务涵盖了阿里巴巴全部的业务,也是双11的核心链路支撑者之一。笔者所在公司选择它,也是由于RocketMQ具有高可靠、吞吐高的特点。
笔者早期接触RocketMQ时,社区的中文文档、原理讲解还是比较少的。一个偶然的机会,笔者结识了Apache RocketMQ社区的维护者,随即加入了社区,编撰文档、提交PR。在社区工作的过程中,笔者发现使用RocketMQ的企业非常多,而大家却缺乏入门之径和实际落地经验。后来,在一次社区MeetUp中,有幸和电子工业出版社的南编相识,这才萌发了写本书总结的想法。
书籍是人类进步的阶梯,笔者在编写本书的时候才真正有所体会。笔者带着总结落地经验和了解RocketMQ原理的目标来编写本书,目的是使其他使用者可以参考、借鉴,不再重复掉入我们曾经掉过的坑。
读者对象
l 对RocketMQ有了解、使用的经验后,想要深入源码而无从下手的人员。
l 希望学习消息队列和分布式系统的开发人员。
l 企业消息中间件维护和支持人员。
l RocketMQ代码贡献者。
l 支持开源的技术工作者。
如何阅读本书
本书的难度属于中级,介绍了RocketMQ的基本使用方法及其各个组件的基本原理,讲解原理时,都是采用先整体架构后详细分解的方式。详细分解时不会深入源码逐段讲,而是从代码结构出发梳理整个运行过程。
本书分为五大部分。
部分包含第1章、第2章和第3章,主要讲解消息队列入门和RocketMQ生产者、消费者原理与实践。
第二部分包含第4章,主要介绍RocketMQ的架构设计和部署实践,也为第三部分的讲解做铺垫。
第三部分包含第5章、第6章和第7章,主要讲解RocketMQ核心组件Namesrv、Broker的基本实现原理、RocketMQ事务消息和延迟消息的设计和实现。
第四部分包含第8章和第9章,主要讲解如何阅读源代码和企业实践。
第五部分是附录,主要列举了Namesrv、Broker的核心配置项和Prometheus Exporter的指标说明。
勘误与支持
由于笔者水平有限、编撰仓促,书中难免会出现一些错误,恳请读者批评指正。如果您有更多宝贵意见和建议,请发送邮件到1026203200@qq.com,期待和您交流沟通RocketMQ的原理、问题与发展。
致谢
首先感谢我的公司、平台和同事,让我有机会可以比较深入地钻研和治理RocketMQ,本书的完成是离不开大家的支持和鼓励的。
其次感谢Apache社区和社区维护者,更感谢RocketMQ的缔造者,正是因为大家的努力,方才有如今优秀的RocketMQ。
后,我要诚挚感谢电子工业出版社的南编等其他工作人员,有了大家的幕后默默工作,才有了本书的出版。
本书源码以RocketMQ 4.2.0和RocketMQ 4.3.0为基础,从RocketMQ的实际使用到RocketMQ的源码分析,再到RocketMQ企业落地实践方案,逐步讲解。使读者由浅入深地了解RocketMQ。本书在源码分析过程中,先讲整体流程,再按模块、步骤进行详细讲解,希望读者在阅读时能举一反三,能知其然且知其所以然。本书总共九章,分为五部分,*部分讲解消息队列入门和RocketMQ生产、消费原理与*实践;第二部分从整体角度讲解RocketMQ架构;第三部分讲解RocketMQ各个组件的基本原理;第四部分深入RocketMQ,讲解如何阅读源代码、如何进行企业实践;第五部分是附录,包含Namesrv、Broker的核心参数配置说明和Exporter监控指标注释。希望读者在平时的工作中能熟悉、借鉴、参考RocketMQ的优秀设计理念,在技术能力上更进一步,在工作中更好地服务公司。希望读者在平时的工作中能熟悉、借鉴、参考RocketMQ的优秀设计理念,在技术能力上更进一步,在工作中更好地服务公司。
李伟Apache RocketMQ北京社区联合发起人,RocketMQ项目Commiter,RocketMQ社区Python客户端项目负责人。目前就职于北京某在线教育公司,担任数据中间件架构师,负责公司内部消息和数据流平台,对分布式存储系统设计和研发有丰富经验,热衷于知识分享和社区活动。座右铭:Programming is not only a way to problems,but also to think!
目 录
第1章 RoketMQ综述 1
1.1 什么是消息队列 2
1.2 为什么需要消息队列 4
1.2.1 削峰填谷 4
1.2.2 程序间解耦 5
1.2.3 异步处理 6
1.2.4 数据的终一致性 6
1.3 常见消息队列 7
1.4 RocketMQ的发展史与未来 9
1.4.1 RocketMQ的发展史 9
1.4.2 Apache RocketMQ的未来 11
第2章 RocketMQ的生产者原理和实践 14
2.1 生产者原理 15
2.1.1 生产者概述 15
2.1.2 消息结构和消息类型 16
2.1.3 生产者高可用 17
2.2 生产者启动流程 22
2.3 消息发送流程 32
2.4 发送消息实践 36
2.4.1 发送普通消息 36
2.4.2 发送顺序消息 37
2.4.3 发送延迟消息 37
2.4.4 发送事务消息 38
2.4.5 发送单向消息 40
2.4.6 批量消息发送 41
2.5 生产者实践总结 42
第3章 RocketMQ的消费流程和实践 44
3.1 消费者概述 45
3.1.1 消费流程 45
3.1.2 消费模式 46
3.1.3 可靠消费 48
3.2 消费者启动机制 50
3.3 消费者的Rebalance机制 58
3.4 消费进度保存机制 65
3.5 消费方式 70
3.5.1 Pull消费流程 71
3.5.2 Push消费流程 72
3.6 消息过滤 86
3.6.1 为什么要设计过滤功能 86
3.6.2 RocketMQ支持消息过滤 86
3.7 消费者实践总结 91
第4章 RocketMQ架构和部署实践 94
4.1 RocketMQ架构 95
4.2 常用的部署拓扑和部署实践 96
4.2.1 常用的拓扑图 96
4.2.2 同步复制、异步复制和同步刷盘、异步刷盘 97
4.2.3 部署实践 98
第5章 Namesrv 102
5.1 Namesrv概述 103
5.1.1 什么是Namesrv 103
5.1.2 Namesrv核心数据结构和API 103
5.1.3 Namesrv和Zookeeper 105
5.2 Namesrv架构 106
5.2.1 Namesrv组件 106
5.2.2 Namesrv启动流程 108
5.2.3 Namesrv停止流程 110
5.3 RocketMQ的路由原理 111
5.3.1 路由注册 111
5.3.2 路由剔除 112
第6章 Broker存储机制 114
6.1 Broker概述 115
6.1.1 什么是Broker 115
6.1.2 Broker存储目录结构 116
6.1.3 Broker启动和停止流程 117
6.2 Broker存储机制 125
6.2.1 Broker消息存储结构 126
6.2.2 Broker消息存储机制 130
6.2.3 Broker读写分离机制 150
6.3 Broker CommitLog索引机制 155
6.3.1 索引的数据结构 155
6.3.2 索引的构建过程 158
6.3.3 索引如何使用 159
6.4 Broker过期文件删除机制 162
6.4.1 CommitLog文件的删除过程 162
6.4.2 Consume Queue、Index File文件的删除过程 166
6.5 Broker主从同步机制 167
6.5.1 主从同步概述 168
6.5.2 主从同步流程 169
6.6 Broker的关机恢复机制 174
6.6.1 Broker关机恢复概述 174
6.6.2 Broker关机恢复流程 177
第7章 RocketMQ特性——事务消息与延迟消息机制 182
7.1 事务消息概述 183
7.2 事务消息机制 184
7.2.1 生产者发送事务消息和执行本地事务 184
7.2.2 Broker存储事务消息 188
7.2.3 Broker回查事务消息 191
7.2.4 Broker提交或回滚事务消息 197
7.3 延迟消息概述 201
7.4 延迟消息机制 203
7.4.1 延迟消息存储机制 203
7.4.2 延迟消息投递机制 205
第8章 RocketMQ源代码阅读 208
8.1 RocketMQ源代码结构概述 209
8.2 RocketMQ源代码编译 212
8.3 如何阅读源代码 214
8.4 源代码阅读范例:通过消息id查询消息 216
第9章 RocketMQ企业实践 224
9.1 RocketMQ落地概述 225
9.1.1 为什么选择RocketMQ 225
9.1.2 如何做RocketMQ的集群管理 226
9.2 RocketMQ集群管理 230
9.2.1 Topic管理 230
9.2.2 消费者管理 235
9.3 RocketMQ集群监控和报警 240
9.3.1 监控和报警架构 240
9.3.2 基于Grafana监控 242
9.3.3 基于Prometheus的报警 243
9.4 RocketMQ集群迁移 244
9.5 RocketMQ测试环境实践 245
9.6 RocketMQ接入实践 247
9.6.1 Spring接入RocketMQ 247
9.6.2 Python接入RocketMQ 249
附录 252
本书源码以RocketMQ 4.2.0和RocketMQ 4.3.0为基础,从RocketMQ的实际使用到RocketMQ的源码分析,再到RocketMQ企业落地实践方案,逐步讲解。使读者由浅入深地了解RocketMQ。本书在源码分析过程中,先讲整体流程,再按模块、步骤进行详细讲解,希望读者在阅读时能举一反三,能知其然且知其所以然。本书总共九章,分为五部分,*部分讲解消息队列入门和RocketMQ生产、消费原理与*实践;第二部分从整体角度讲解RocketMQ架构;第三部分讲解RocketMQ各个组件的基本原理;第四部分深入RocketMQ,讲解如何阅读源代码、如何进行企业实践;第五部分是附录,包含Namesrv、Broker的核心参数配置说明和Exporter监控指标注释。希望读者在平时的工作中能熟悉、借鉴、参考RocketMQ的优秀设计理念,在技术能力上更进一步,在工作中更好地服务公司。希望读者在平时的工作中能熟悉、借鉴、参考RocketMQ的优秀设计理念,在技术能力上更进一步,在工作中更好地服务公司。
李伟Apache RocketMQ北京社区联合发起人,RocketMQ项目Commiter,RocketMQ社区Python客户端项目负责人。目前就职于北京某在线教育公司,担任数据中间件架构师,负责公司内部消息和数据流平台,对分布式存储系统设计和研发有丰富经验,热衷于知识分享和社区活动。座右铭:Programming is not only a way to problems,but also to think!
这是一本讲解RocketMQ*实践的系统化书籍,作者有在RocketMQ在线高可靠场景下的深度开发和运营经验,踩过很多坑,总结出宝贵的经验。内容清晰易懂,又结合了*实践的经验,可以当作RocketMQ初学的参考书,也可以当作在线深度大规模使用的工具书。
VIPKID基础架构负责人 刘中兵
Apache RocketMQ作为诞生自阿里的云原生消息平台,历经近十年双十一大促核心交易链路打磨,可以支撑万亿级消息洪峰。2017年成为Apache高级项目后更是备受瞩目,目前中国互联网、金融等行业Top级企业75%以上都在使用,已经成为云原生时代企业上云的核心基础设施。
李伟作为RocketMQ的Committer主导了包括Python Client在内的多个项目的研发,同时负责了国内为数不多的超大规模开源RocketMQ集群的运行维护,拥有非常丰富的理论和实践经验。本书从核心原理和*实践两个维度阐述了RocketMQ技术实现及落地经验,非常难得,强烈推荐给大家!
Apache RocketMQ 中国社区发起人 & PMC Member厉启鹏
作者有多年分布式系统的实战经验,特别是在消息队列方面经验丰富。本书根据作者在项目中使用RocketMQ的实际经验,结合实际源码,由浅入深地讲解了RocketMQ核心功能的具体实现逻辑,并从消息队列的应用场景出发,使读者快速地了解MQ解决的问题域。
通过阅读本书,不仅可以了解如何在项目中使用消息队列,还能学习到RocketMQ的实现细节,进一步提升对RocketMQ系统本身的把控力度。
VIPKID技术总经理 陈鹏
RocketMQ分布式消息中间件:核心原理与实践
全新成都
¥ 38.12
RocketMQ分布式消息中间件:核心原理与实践
全新成都
¥ 62.40
RocketMQ分布式消息中间件(核心原理与*实践)
全新德州
¥ 40.73
RocketMQ分布式消息中间件 核心原理与最佳实践
全新广州
¥ 42.36
RocketMQ分布式消息中间件:核心原理与最佳实践
全新北京
¥ 35.55
RocketMQ分布式消息中间件:核心原理与最佳实践
全新北京
¥ 22.91
RocketMQ分布式消息中间件 核心原理与最佳实践
全新广州
¥ 42.44
RocketMQ分布式消息中间件 核心原理与最佳实践
全新北京
¥ 48.57
RocketMQ分布式消息中间件 核心原理与最佳实践
全新广州
¥ 42.36
RocketMQ分布式消息中间件:核心原理与最佳实践
九五品天津
¥ 14.60
— 没有更多了 —
以下为对购买帮助不大的评价