《深入RabbitMQ》_汪佳南、郑天民 译

[复制链接]
online_admin aixure 发表于 2023-1-20 21:59:10 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
215854l6foo4z3qxsx0oon
售 价: ¥5¥89加入会员,免费下载
库 存:9999
销 量:12
源 址:
卖家服务:  
客 服:QQ(早10点-晚6点)
资源详情
内容简介[url=]编辑[/url][url=] 播报[/url]
本书对 RabbitMQ 这一业界主流的消息中间件做了全面介绍,给出了如何使用 RabbitMQ 构建消息通信系统的方法和实践。本书从 AMQP 协议出发,深入介绍各种消息属性,给出 RabbitMQ 在发送和消费消息上的特性和最佳实践,并阐述基于 RabbitMQ 所特有的交换器组件实现灵活的消息路由机制。同时,本书也讨论了如何利用 RabbitMQ 强大的集群机制实现分布式环境下的消息通信,并展示了如何在 RabbitMQ中,使用其他传输协议以及数据库集成等功能来实现各种定制化需求。本书的读者对象为从事互联网行业中各种分布式和服务化系统开发的研究人员、高等院校计算机相关专业的研究生和本科生,以及广大的 IT 爱好者。 [1]

图书目录[url=]编辑[/url][url=] 播报[/url]
目 录
第一篇 RabbitMQ和应用程序体系结构
第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
第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
第三篇 集成与定制
第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

温馨提示:
1、如果下载地址失效,请尽快反馈给我们,我们尽快修复。点此反馈>>
2、全站资源高清无密,课程百分百高清,完整,原画,包含所有的视频+素材+课件+源码,官方同步体验!每天更新,成为vip后可免费下载本站IT课程。点此办理会员>>
3、有任何问题,请咨询QQ:87887023
4、支持7*24小时自助购买,购买后自动发货,链接永久有效,自动更新
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

专注资源整合与知识分享
客服QQ

87887023

周一至周日9:00-23:00

反馈建议

点此进行反馈 kfs 在线QQ咨询
ftqrcode

扫描二维码关注我们

label_sm_90020

Powered by 优百课栈 X3.4© 2019-2025