- ISBN:9787115596857
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:293
- 出版时间:2022-08-01
- 条形码:9787115596857 ; 978-7-115-59685-7
本书特色
适读人群 :1.软件开发测试人员,助其熟悉核心原理,掌握*佳实践,避开使用中的可能碰到的坑。 2.RocketMQ运维人员,助其构建运维治理体系,保障生产环境RocketMQ集群平稳健康运行。 3.适合作为培训教材。1.凝聚两位RocketMQ架构师的多年实战经验,从实践出发,结合实际应用中的案例帮助读者快速成长、从理论走向实战。 2.本书对RocketMQ的原理与架构进行了深入浅出的讲解,结构清晰,内容扎实,满足RocketMQ爱好者和从业人员的需求。 3.本书得到RocketMQ官方社区的支持。
内容简介
RocketMQ是一款高性能、高吞吐量、低延迟的消息中间件。数年来,RocketMQ承载了阿里“双十一”的大部分业务,并凭借其优秀性能得到了架构师的青睐,成为互联网行业优选的消息中间件。本书从使用场景入手,介绍如何使用RocketMQ,使用过程中会遇到什么问题,如何解决这些问题,以及为什么可以这样解决。本书强调实战与理论结合,将原理穿插在实战中讲解,旨在让每一位RocketMQ初学者通过对本书的学习,快速“升级打怪”,成为RocketMQ领域的佼佼者。
目录
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官方社区优秀布道师、CSDN2020博客执之星Top2等荣誉称号。目前担任中通快递技术平台部资深架构师,主要负责全链路压测、消息中间件、数据同步等产品的研发与落地,拥有千亿级消息集群的运维经验,不仅实践经验丰富,而且对其源代码有深入且系统的研究。梁勇,哈啰出行高级技术专家,负责服务框架和消息平台,参与了《RocketMQ技术内幕》审稿工作。专注后端中间件方向,公众号“瓜农老梁”维护者。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0