RocketMQ实战
全新正版 极速发货
¥
63.68
6.4折
¥
99.8
全新
库存8件
作者丁威 梁勇
出版社人民邮电
ISBN9787115596857
出版时间2022-08
装帧平装
开本其他
定价99.8元
货号1202737571
上书时间2024-06-06
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
(待更新)丁威,《RocketMQ技术内幕》联合作者,热衷于中间件领域的技术分享,维护“中间件兴趣圈”公众号,荣获RocketMQ官方社区优秀布道师、CSDN2020博客执之星Top2等荣誉称号。目前担任中通快递技术平台部资深架构师,主要负责全链路压测、消息中间件、数据同步等产品的研发与落地,拥有千亿级消息集群的运维经验,不仅实践经验丰富,而且对其源代码有深入且系统的研究。
梁勇,哈啰出行高级技术专家,负责服务框架和消息平台,参与了《RocketMQ技术内幕》审稿工作。专注后端中间件方向,公众号“瓜农老梁”维护者。
目录
第 1章 认识Apache RocketMQ 1
1.1 RocketMQ 快速入门 1
1.1.1 下载安装包 1
1.1.2 启动服务 2
1.1.3 创建主题 3
1.1.4 创建消费组 3
1.1.5 发送消息 4
1.1.6 消费消息 4
1.1.7 调试RocketMQ 4
1.2 基本术语 7
1.2.1 消息相关术语 7
1.2.2 主题相关术语 8
1.2.3 消费相关术语 9
1.3 RocketMQ 架构设计 10
1.3.1 物理部署结构 10
1.3.2 高吞吐量与低延迟的权衡 11
1.3.3 高并发读写 11
1.3.4 高可用性与伸缩性 12
1.3.5 高可靠存储 12
1.4 RocketMQ的典型使用场景 12
1.4.1 消息通道 12
1.4.2 削峰填谷 13
1.4.3 顺序消费场景 13
1.4.4 广播消费场景 13
1.4.5 事务消息场景 13
1.5 本章小结 13
第 2章 RocketMQ消息发送 14
2.1 详解消息发送API 14
2.1.1 发送接口分类 15
2.1.2 集群管理接口说明 16
2.1.3 客户端配置说明 17
2.1.4 DefaultMQProducer 参数说明 18
2.2 重要参数与实战建议 18
2.2.1 发送重试机制 18
2.2.2 延迟故障规避 19
2.2.3 ClientId的使用陷阱 20
2.2.4 客户端日志注意事项 24
2.3 消息发送的典型使用方式 25
2.3.1 发送示例详解 25
2.3.2 发送队列选择 26
2.3.3 通过指定消息Key发送 28
2.3.4 通过指定消息tag 发送 29
2.3.5 消息msgId 详解 30
2.4 消息发送的常见错误 31
2.4.1 找不到主题路由信息 31
2.4.2 消息发送超时 34
2.4.3 系统繁忙 36
2.5 本章小结 40
第3章 RocketMQ消息消费 41
3.1 消息消费概述 41
3.1.1 消费队列负载机制与重平衡 42
3.1.2 并发消费模型 42
3.1.3 消费进度提交机制 43
3.2 消息消费API与版本的演变说明 45
3.2.1 消息消费类图 45
3.2.2 消息消费API 简单使用示例 49
3.2.3 消息消费API版本的演变说明 52
3.3 DefaultMQPushConsumer的核心参数与工作原理 53
3.3.1 DefaultMQPushConsumer核心参数与工作原理 53
3.3.2 消息消费队列负载算法 55
3.3.3 PUSH 模型的消息拉取机制 58
3.3.4 消息消费进度提交 59
3.4 DefaultMQPushConsumer使用示例与注意事项 60
3.4.1 ConsumeFromWhere的注意事项 60
3.4.2 基于多机房的队列负载算法 62
3.4.3 消费组线程数设置注意事项 66
3.4.4 批量消费注意事项 67
3.4.5 订阅关系不一致导致消息丢失 70
3.4.6 消费者ClientId 不唯一导致不消费 72
3.4.7 消费重试次数设置 73
3.4.8 分区消费不均衡问题 74
3.5 DefaultLitePullConsumer 核心参数与实战 75
3.5.1 DefaultLitePullConsumer类图 75
3.5.2 DefaultLitePullConsumer简单使用示例 80
3.5.3 Lite PULL 与 PUSH模式的对比 80
3.5.4 长轮询实现原理 81
3.6 结合实际场景再聊DefaultLitePullConsumer 的使用 83
3.6.1 场景描述 83
3.6.2 PUSH 与PULL 模式选型 83
3.6.3 方案设计 83
3.6.4 代码实现与代码解读 84
3.7 结合实际场景顺序消费、消息过滤实战 91
3.7.1 顺序消费 91
3.7.2 消息过滤实战 95
3.8 消息消费积压问题的排查实战 97
3.8.1 问题描述 97
3.8.2 问题分析与解决方案 98
3.8.3 线程栈分析经验 101
3.8.4 RocketMQ 消费端的限流机制 101
3.8.5 RocketMQ 服务端性能自查技巧 103
3.9 本章小结 104
第4章 rocketmq-spring 框架 105
4.1 rocketmq-spring 框架简介 105
4.2 使用案例 106
4.2.1 引入依赖包 106
4.2.2 如何使用消息发送 107
4.2.3 消息消费使用示例 112
4.3 本章小结 114
第5章 RocketMQ的设计原理 115
5.1 Name Server的设计理念 115
5.1.1 路由注册、剔除机制 115
5.1.2 Name Server 设计的“缺陷” 117
5.2 消息发送 120
5.2.1 消息发送高可用机制 120
5.2.2 同步复制 122
5.2.3 事务消息 124
5.2.4 服务端线程模型 126
5.2.5 服务端快速失败机制 127
5.3 消息存储 128
5.3.1 存储文件布局 128
5.3.2 顺序写 137
5.3.3 内存映射与页缓存 137
5.3.4 内核级读写分离 138
5.3.5 刷盘机制 140
5.3.6 文件恢复 143
5.3.7 零拷贝 147
5.4 消息消费 147
5.4.1 并发消费拉取模型 147
5.4.2 消费进度管理机制 150
5.4.3 消息过滤 151
5.4.4 顺序消费 152
5.4.5 延迟消息 153
5.4.6 消费端限流机制 154
5.4.7 服务端限流机制 155
5.5 集群 156
5.5.1 主从同步 157
5.5.2 主从切换 159
5.5.3 长轮询机制 165
5.5.4 消息轨迹 165
5.6 本章小结 168
第6章 RocketMQ 线上环境部署 169
6.1 集群资源规划 169
6.1.1 硬件资源选择 169
6.1.2 集群架构选择 170
6.2 Name Server 集群搭建 171
6.2.1 启动与关闭 171
6.2.2 堆内存自定义 172
6.2.3 生产环境建议 172
6.3 Master-Slave主从架构集群搭建 172
6.3.1 Master 节点修改配置 172
6.3.2 Slave 节点修改配置 174
6.3.3 调整日志路径 175
6.3.4 JVM 内存分配 175
6.3.5 节点启动与关闭 175
6.4 搭建多副本集群 176
6.4.1 多副本集群搭建 176
6.4.2 重新选主 178
6.4.3 参数说明 178
6.4.4 多副本结语 178
6.5 RocketMQ-Console 安装 179
6.6 参数调优 180
6.6.1 Broker 参数调优 180
6.6.2 系统参数调优 181
6.7 本章小结 183
第7章 RocketMQ 运维实战 184
7.1 运维命令汇总 184
7.1.1 集群命令汇总 184
7.1.2 主题命令汇总 186
7.1.3 消费组命令汇总 189
7.1.4 Broker 命令汇总 192
7.1.5 消息命令汇总 198
7.2 集群性能压力测试 202
7.2.1 压力测试脚本参数说明 203
7.2.2 性能压力测试实战记录 203
7.3 集群平滑升级与扩缩容 214
7.3.1 优雅摘除节点 214
7.3.2 平滑扩缩容 215
7.3.3 注意事项 217
7.4 查询死信队列消息内容 218
7.5 本章小结 220
第8章 RocketMQ 监控与治理 221
8.1 监控设计理念 221
8.2 集群核心监控项 222
8.2.1 监控项设计 222
8.2.2 监控开发实战 224
8.3 主题消费组核心监控项 228
8.3.1 监控项设计 229
8.3.2 监控开发实战 230
8.4 告警设计与实战 242
8.4.1 告警项设计 242
8.4.2 告警开发实战 244
8.5 本章小结 248
第9章 RocketMQ 高并发编程技巧 249
9.1 读写锁使用场景 249
9.2 信号量使用技巧 251
9.3 同步转异步编程技巧 254
9.4 CompletableFuture 使用技巧 255
9.5 Netty网络编程 258
9.5.1 Netty网络编程要点 262
9.5.2 线程隔离机制 271
9.6 本章小结 272
第 10章 消息方案案例 273
10.1 消息流量隔离方案 273
10.2 任意时间消息延迟方案 275
10.3 消息资源容灾迁移方案 277
10.3.1 集群同城跨可用区部署 277
10.3.2 资源迁移设计 278
10.4 跨集群复制方案设计 279
10.5 本章小结 280
第 11章 生产环境故障回顾 281
11.1 集群节点进程神秘消失 281
11.1.1 现象描述 281
11.1.2 原因分析 281
11.1.3 解决方法 282
11.2 节点CPU 突刺故障排查 282
11.2.1 现象描述 282
11.2.2 原因分析 295
11.2.3 解决办法 285
11.3 集群频繁抖动与发送超时 285
11.3.1 现象描述 285
11.3.2 原因分析 287
11.3.3 解决办法 288
11.4 客户端消费性能低 288
11.4.1 现象描述 288
11.4.2 原因分析 288
11.4.3 解决办法 289
11.5 消费队列阻塞应急处理 289
11.5.1 现象描述 289
11.5.2 原因分析 290
11.5.3 解决办法 292
11.6 本章小结 293
内容摘要
RocketMQ是一款高性能、高吞吐量、低延迟的消息中间件。数年来,RocketMQ承载了阿里“双十一”的大部分业务,并凭借其优秀性能得到了架构师的青睐,成为互联网行业首选的消息中间件。本书从使用场景入手,介绍如何使用RocketMQ,使用过程中会遇到什么问题,如何解决这些问题,以及为什么可以这样解决。本书强调实战与理论结合,将原理穿插在实战中讲解,旨在让每一位RocketMQ初学者通过对本书的学习,快速“升级打怪”,成为RocketMQ领域的佼佼者。
主编推荐
1.凝聚两位RocketMQ架构师的多年实战经验,从实践出发,结合实际应用中的案例帮助读者快速成长、从理论走向实战。
2.本书对RocketMQ的原理与架构进行了深入浅出的讲解,结构清晰,内容扎实,满足RocketMQ爱好者和从业人员的需求。
3.本书得到RocketMQ官方社区的支持。
媒体评论
RocketMQ 是一款接近为互联网架构设计的消息中间件。这本书从多个视角完整剖析了 RocketMQ 的设计原理,以及在使用过程中可能遇到的各种疑难问题。难能可贵的是,它从源代码级别阐述了RocketMQ 的各种设计思想,部分章节的内容甚至比 RocketMQ 作者当初设计时考虑得更完善。强烈推荐热爱 RocketMQ 的工程师阅读这本书。
—— 王小瑞
Apache RocketMQ 作者、联合创始人
丁威对 RocketMQ 的技术架构有深刻的理解,并且在中通积累了RocketMQ 大规模生产实践的经验。这本《RocketMQ 实战》将帮助读者从理论走向实战。借助本书沉淀的经验和很好实践,读者能更好地使用、运维、完善 RocketMQ。现在,Apache RocketMQ 已经开启了 5.0 的时代,面向云原生、IoT、事件流等场景解锁了更多能力,欢迎大家使用,参与社区共建。
—— 林清山
Apache RocketMQ 联合创始人,阿里云消息团队负责人
这本书从实际应用出发,讲解到运维监控治理,覆盖了RocketMQ 整个生命周期,让你能在短时间内快速上手 RocketMQ。最后,这本书还增加了作者在实际工作中的故障案例分析,非常值得一读。
—— 王辉
中通科技技术中台首席架构师
RocketMQ 作为 Java 领域的开源项目之一,在互联网架构中得到了广泛的应用,值得每个 Java 工程师深入学习和实践。作者对 RocketMQ 有着丰富的经验和细致的研究,从原理到应用进行了深入浅出的讲解,尤其毫无保留地给出了非常多的实战建议。相信不管是学习还是实践,这本书都能很好地帮助到大家。
—— —— 欧昀
众安保险首席技术专家
这本书从实战经验出发,讲解了 RocketMQ 的技术原理、实现细节、运维实操、应用场景以及生产故障分析等。作者结合多年实战经验,不遗余力地陈述了大量实战内幕。无论是初学者还是技术专家,都能用不一样的视角去体验该书带来的技术盛宴。
—— 张勇华
腾讯云高级架构
这本书庖丁解牛般地剖析了 RocketMQ 的原理与架构设计,分享了部署和运维的经验,通过各种案例列举了实战中可能遇到的各类问题,对于想要掌握 RocketMQ 技术原理与部署运维经验的人来说不容错过。
—— 邢益伟
哈啰资深技术专家
这本书清楚地介绍了 RocketMQ 在消息存储上的设计关键,可以让技术人员在选型消息中间件的时候更好地对比优劣,做出合理的决策,同时深入浅出地介绍了许多实践经验,可以帮助工程师解决实际问题。强烈建议 RocketMQ 的关注者人手一本,相信这本书可以让大家在相关的知识积累上更上一层楼。
—— 代志远
哈啰出行两轮业务与数据平台研发负责人
Roc
— 没有更多了 —
以下为对购买帮助不大的评价