《RabbitMQ实战指南》内容简介|作者

内容简介

本书从消息中间件的概念和RabbitMQ的历史切入,主要阐述RabbitMQ的安装、使用、配置、管理、运维、原理、扩展等方面的细节。本书大致可以分为基础篇、进阶篇和高阶篇三个部分。基础篇首先介绍RabbitMQ的基本安装及使用方式,方便零基础的读者以*舒适的方式融入到RabbitMQ之中。其次介绍RabbitMQ的基本概念,包括生产者、消费者、交换器、队列、绑定等。之后通过Java语言讲述了客户端如何与RabbitMQ建立(关闭)连接、声明(删除)交换器、队列、绑定关系,以及如何发送和消费消息等。进阶篇讲述RabbitMQ的 TTL、死信、延迟队列、优先级队列、RPC、消息持久化、生产端和消费端的消息确认机制等内容,以期读者能够掌握RabbitMQ的使用精髓。本书中间篇幅主要从RabbitMQ 的管理、配置、运维这三个角度来为读者提供帮助文档及解决问题的思路。高阶篇主要阐述RabbitMQ的存储机制、流控及镜像队列的原理,深入地讲述RabbitMQ的一些实现细节,便于读者加深对RabbitMQ的理解。本书还涉及网络分区的概念,此内容可称为魔鬼篇,需要掌握前面的所有内容才可理解其中的门道。本书*后讲述的是RabbitMQ的一些扩展内容及附录,供读者参考之用。

作者简介:

计算机硕士毕业,在互联网公司担任高级开发工程师,从事消息中间件的研究及开发,主要包括RabbitMQ和Kafka。

目 录:

第1章 RabbitMQ简介 1

1.1 什么是消息中间件 2

1.2 消息中间件的作用 3

1.3 RabbitMQ的起源 4

1.4 RabbitMQ的安装及简单使用 6

1.4.1 安装Erlang 7

1.4.2 RabbitMQ的安装 8

1.4.3 RabbitMQ的运行 8

1.4.4 生产和消费消息 10

1.5 小结 14

第2章 RabbitMQ入门 15

2.1 相关概念介绍 16

2.1.1 生产者和消费者 16

2.1.2 队列 18

2.1.3 交换器、路由键、绑定 19

2.1.4 交换器类型 21

2.1.5 RabbitMQ运转流程 23

2.2 AMQP协议介绍 26

2.2.1 AMQP生产者流转过程 27

2.2.2 AMQP消费者流转过程 29

2.2.3 AMQP命令概览 30

2.3 小结 32

第3章 客户端开发向导 33

3.1 连接RabbitMQ 34

3.2 使用交换器和队列 36

3.2.1 exchangeDeclare方法详解 37

3.2.2 queueDeclare方法详解 39

3.2.3 queueBind方法详解 41

3.2.4 exchangeBind方法详解 42

3.2.5 何时创建 43

3.3 发送消息 44

3.4 消费消息 46

3.4.1 推模式 46

3.4.2 拉模式 49

3.5 消费端的确认与拒绝 50

3.6 关闭连接 52

3.7 小结 54

第4章 RabbitMQ进阶 55

4.1 消息何去何从 56

4.1.1 mandatory参数 56

4.1.2 immediate参数 57

4.1.3 备份交换器 58

4.2 过期时间(TTL) 60

4.2.1 设置消息的TTL 60

4.2.2 设置队列的TTL 62

4.3 死信队列 63

4.4 延迟队列 65

4.5 优先级队列 67

4.6 RPC实现 68

4.7 持久化 72

4.8 生产者确认 74

4.8.1 事务机制 74

4.8.2 发送方确认机制 77

4.9 消费端要点介绍 84

4.9.1 消息分发 85

4.9.2 消息顺序性 87

4.9.3 弃用QueueingConsumer 88

4.10 消息传输保障 90

4.11 小结 91

第5章 RabbitMQ管理 92

5.1 多租户与权限 93

5.2 用户管理 97

5.3 Web端管理 99

5.4 应用与集群管理 105

5.4.1 应用管理 105

5.4.2 集群管理 108

5.5 服务端状态 111

5.6 HTTP API接口管理 121

5.7 小结 130

第6章 RabbitMQ配置 131

6.1 环境变量 132

6.2 配置文件 136

6.2.1 配置项 137

6.2.2 配置加密 140

6.2.3 优化网络配置 142

6.3 参数及策略 146

6.4 小结 151

第7章 RabbitMQ运维 152

7.1 集群搭建 153

7.1.1 多机多节点配置 154

7.1.2 集群节点类型 158

7.1.3 剔除单个节点 160

7.1.4 集群节点的升级 162

7.1.5 单机多节点配置 163

7.2 查看服务日志 164

7.3 单节点故障恢复 172

7.4 集群迁移 173

7.4.1 元数据重建 174

7.4.2 数据迁移和客户端连接的切换 183

7.4.3 自动化迁移 185

7.5 集群监控 189

7.5.1 通过HTTP API接口提供监控数据 189

7.5.2 通过客户端提供监控数据 196

7.5.3 检测RabbitMQ服务是否健康 199

7.5.4 元数据管理与监控 203

7.6 小结 205

第8章 跨越集群的界限 206

8.1 Federation 207

8.1.1 联邦交换器 207

8.1.2 联邦队列 214

8.1.3 Federation的使用 216

8.2 Shovel 223

8.2.1 Shovel的原理 224

8.2.2 Shovel的使用 227

8.2.3 案例:消息堆积的治理 233

8.3 小结 235

第9章 RabbitMQ高阶 237

9.1 存储机制 238

9.1.1 队列的结构 240

9.1.2 惰性队列 243

9.2 内存及磁盘告警 245

9.2.1 内存告警 246

9.2.2 磁盘告警 249

9.3 流控 250

9.3.1 流控的原理 250

9.3.2 案例:打破队列的瓶颈 253

9.4 镜像队列 263

9.5 小结 269

第10章 网络分区 270

10.1 网络分区的意义 271

10.2 网络分区的判定 272

10.3 网络分区的模拟 275

10.4 网络分区的影响 279

10.4.1 未配置镜像 279

10.4.2 已配置镜像 282

10.5 手动处理网络分区 284

10.6 自动处理网络分区 289

10.6.1 pause-minority模式 289

10.6.2 pause-if-all-down模式 290

10.6.3 autoheal模式 291

10.6.4 挑选哪种模式 292

10.7 案例:多分区情形 293

10.8 小结 296

第11章 RabbitMQ扩展 297

11.1 消息追踪 298

11.1.1 Firehose 298

11.1.2 rabbitmq_tracing插件 301

11.1.3 案例:可靠性检测 305

11.2 负载均衡 310

11.2.1 客户端内部实现负载均衡 312

11.2.2 使用HAProxy实现负载均衡 314

11.2.3 使用Keepalived实现高可靠负载均衡 318

11.2.4 使用Keepalived LVS实现负载均衡 325

11.3 小结 330

附录A 集群元数据信息示例 331

附录B /api/nodes接口详细内容 333

附录C 网络分区图谱 336

为您推荐

《谢米尔的小潜水艇》内容简介|作者

内容简介 好的幻想小说都是成长小说,它长久不衰的魅力,在于它能帮孩子处理成长过程中必须面对的内心冲突。它是一面镜子,能照出孩子的自我;是孩子们演练内心冲突的一个舞台;是一次孩子们的自我发现之旅。 日本大幻想文学..

《高考英语高分作文字帖》内容简介|作者

内容简介书籍特色 这是一套对英文字母、单词、短语、句子、文章书法练习的字帖,根据习字者的书法水平和英语程度,由浅入深,由易到难,通过循序渐进的练习,帮助习字者快速提高书..

《魏晋唐小楷-中国历代名碑名帖精选》内容简介|作者

内容简介书籍特色 为传承和发扬传统文化,江西美术出版社北京分社推出《中国历代名碑名帖精选》系列图书,让我们从这里抵达华夏文明的深处。  书法艺术是中华文化瑰宝,古人..

《王福庵印谱-全3册》内容简介|作者

《硬笔楷书入门字帖》内容简介|作者

内容简介书籍特色 广大学生和书法爱好者书写汉字,力求规范、端正、整洁,能用钢笔熟练地书写正楷字,逐步提高书写速度,规范书写习惯。随着国家对传统文化越来越重视,写一手好的..

《李文采临王羲之圣教序碑》内容简介|作者

内容简介本书由僧人怀仁集王羲之书而成。怀仁从唐内府所藏王羲之书迹及民间王字遗墨中集《圣教序》, 历时二十四年。前人评价此碑: “天衣无缝, 胜于自运”, “逸少真迹, 咸萃其中”。由于王羲之真迹不存, 此碑是后人..

《李文采临李邕李思训碑》内容简介|作者

内容简介本书精选历代著名碑帖 (自殷商至近代) 影印出版, 纵贯中国书法史, 更加精当合理, 底本注重艺术性与版本价值相结合, 是广大读者学习书法艺术的首选法帖。碑高一丈一尺三寸六分, 宽四尺八寸五分。字共三十行,..