当前位置:首页 > 工业技术
深入RabbitMQ
深入RabbitMQ

深入RabbitMQPDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:(美)加文·罗伊(Gavin M. Roy)
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121341809
  • 页数:236 页
图书介绍:任何大型应用程序都需要一个有效的方式来处理常数系统中组件之间的消息传递,这称为”消息传递工作,”RabbitMQ信息代理商最初吸引开发人员的原因是它的轻量级,容易设置和低维护成本。他们坚持发展的原因是他它强大,快速,几乎任何事务都可以扔进去。这本书带领读者在聚类的基础知识之外,探讨了挑战和消息分发使用RabbitMQ的企业级数据中心。深度RabbitMQ是构建和维护基于消息的系统的实用指南。这本书涵盖了详细的架构和操作使用RabbitMQ的重点不仅仅是它是如何工作的,还包括为什么它的工作。对于从低级通信与第三方系统集成,它提供的案例和详细的解释,以及有关需要核心架构的选择和制定有效的运营管理的过程的见解。
《深入RabbitMQ》目录
标签:深入

第一篇 RabbitMQ和应用程序体系结构 3

第1章 RabbitMQ基础 3

1.1 RabbitMQ特性以及好处 4

1.1.1 RabbitMQ与Erlang 5

1.1.2 RabbitMQ与AMQP 6

1.2 谁在使用RabbitMQ,在怎么用 7

1.3 松耦合架构的优势 8

1.3.1 解耦你的应用 10

1.3.2 解耦数据库写入 11

1.3.3 无缝添加新功能 12

1.3.4 复制数据与事件 12

1.3.5 多主(Multi-Master)互联化数据与事件 13

1.3.6 高级消息队列模型 14

1.4 小结 16

第2章 使用AMQ协议与Rabbit进行交互 18

2.1 AMQP作为一种RPC传输机制 19

2.1.1 启动会话 20

2.1.2 调整正确的信道 20

2.2 AMQP RPC帧结构 21

2.2.1 AMQP帧组件 21

2.2.2 帧类型 22

2.2.3 将消息编组成帧 23

2.2.4 方法帧结构 24

2.2.5 内容头帧 26

2.2.6 消息体帧 26

2.3 使用协议 27

2.3.1 声明交换器 27

2.3.2 声明队列 28

2.3.3 绑定队列到交换器 29

2.3.4 发布消息到RabbitMQ 29

2.3.5 从RabbitMQ中消费消息 30

2.4 用Python编写消息发布者 32

2.5 从RabbitMQ中获取消息 36

2.6 小结 37

第3章 消息属性详解 38

3.1 合理使用属性 39

3.2 使用content-type属性创建显式的消息契约 41

3.3 通过gzip和content-encoding属性压缩消息大小 43

3.4 使用message-id和correlation-id引用消息 45

3.4.1 Message-id 45

3.4.2 Correlation-id 45

3.5 创建时间:timestamp属性 46

3.6 消息自动过期 47

3.7 使用delivery-mode平衡速度和安全性 48

3.8 使用app-id和user-id验证消息来源 49

3.8.1 app-id 50

3.8.2 user-id 51

3.9 使用type属性获取明细 51

3.10 使用reply-to属性实现动态工作流 52

3.11 使用消息头自定义属性 53

3.12 优先级属性 54

3.13 不能使用的属性:cluster-id/reserved 54

3.14 小结 55

第4章 消息发布的性能权衡 58

4.1 平衡投递速度与可靠投递 59

4.1.1 如果没有保证机制我们能期待什么 60

4.1.2 使用mandatory设置,RabbitMQ将不接受不可路由消息 62

4.1.3 发布者确认作为事务的轻量级替代方法 64

4.1.4 使用备用交换器处理无法路由的消息 66

4.1.5 基于事务的批量处理 68

4.1.6 使用HA队列避免节点故障 70

4.1.7 HA队列与事务 72

4.1.8 通过设置delivery-mode为2将消息持久化到磁盘 72

4.2 RabbitMQ回推 75

4.2.1 使用rabbitpy来检测连接状态 77

4.2.2 使用管理API管理连接状态 77

4.3 小结 78

第5章 消费消息,避免拉取 79

5.1 对比Basic.Get和Basic.Consume 80

5.1.1 Basic.Get 80

5.1.2 Basic.Consume 82

5.2 优化消费者性能 84

5.2.1 使用no-ack模式实现更快的吞吐量 85

5.2.2 通过服务质量设置控制消费者预取 86

5.2.3 消费者使用事务 89

5.3 拒绝消息 90

5.3.1 Basic.Reject 90

5.3.2 Basic.Nack 91

5.3.3 死信交换器 92

5.4 控制队列 94

5.4.1 临时队列 94

5.4.2 永久队列 97

5.4.3 任意队列设置 99

5.5 小结 99

第6章 消息路由模式 101

6.1 通过direct交换器路由消息 102

6.1.1 创建应用架构 103

6.1.2 创建RPC工作者 107

6.1.3 编写简单的RPC发布者 110

6.2 通过fanout交换器广播消息 115

6.2.1 修改面部检测消费者 116

6.2.2 创建一个简单的图片哈希消费者 117

6.3 使用topic交换器有选择地路由消息 119

6.4 使用headers交换器有选择地路由消息 122

6.5 交换器性能基准 124

6.6 交换器间路由 125

6.7 使用一致性哈希交换器路由消息 127

6.8 小结 131

第二篇 管理数据中心或云中的RabbitMQ 135

第7章 RabbitMQ集群 135

7.1 集群简介 136

7.1.1 集群和管理界面 137

7.1.2 集群节点类型 138

7.1.3 集群和队列行为 139

7.2 集群设置 142

7.2.1 虚拟机设置 143

7.2.2 向集群中添加节点 144

7.3 小结 147

第8章 跨集群的消息分发 148

8.1 联合交换器和联合队列 149

8.1.1 联合交换器 149

8.1.2 联合队列 152

8.2 创建RabbitMQ虚拟机 153

8.2.1 创建首个实例 153

8.2.2 复制EC2实例 159

8.3 连接上游节点 162

8.3.1 定义联合中的上游节点 162

8.3.2 定义策略 164

8.3.3 利用上游集合 167

8.3.4 双向联合交换器 170

8.3.5 使用联合来升级集群 171

8.4 小结 173

第三篇 集成与定制 177

第9章 使用替代协议 177

9.1 MQTT和RabbitMQ 178

9.1.1 MQTT协议 178

9.1.2 通过MQTT发送消息 182

9.1.3 MQTT订阅者 184

9.1.4 MQTT插件配置 187

9.2 STOMP和RabbitMQ 189

9.2.1 STOMP协议 190

9.2.2 发布消息 191

9.2.3 消费消息 195

9.2.4 配置STOMP插件 198

9.2.5 在Web浏览器中使用STOMP 199

9.3 通过HTTP进行无状态发布 200

9.3.1 statelessd的由来 200

9.3.2 使用statelessd 201

9.3.3 运营架构 202

9.3.4 通过statelessd来发布消息 203

9.4 小结 203

第10章 数据库集成 205

10.1 PostgreSQL扩展:pg_amqp 206

10.1.1 安装pg_amqp扩展 207

10.1.2 配置pg_amqp扩展 209

10.1.3 通过pg_amqp发送消息 210

10.2 监听PostgreSQL通知 212

10.2.1 安装PostgreSQL LISTEN交换器 213

10.2.2 基于策略的配置 215

10.2.3 创建交换器 217

10.2.4 创建并绑定测试队列 217

10.2.5 通过NOTIFY发送消息 218

10.3 将消息存入InfluxDB中 219

10.3.1 InfluxDB的安装与设置 220

10.3.2 安装InfluxDB存储交换器 222

10.3.3 创建测试交换器 223

10.3.4 测试交换器 224

10.4 小结 227

附录 准备就绪 228

A.1 安装VirtualBox 228

A.2 安装Vagrant 230

A.3 设置Vagrant虚拟机 233

A.4 确认安装 234

A.5 小结 236

相关图书
作者其它书籍
返回顶部