搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
深入RabbitMQ
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121341809
  • 作      者:
    (美)Gavin M. Roy著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2018
收藏
作者简介

Gavin M. Roy 是一位积极的开源传播者和倡导者,自20 世纪90 年代中期就一直活跃在互联网和企业级技术之中。


展开
内容介绍

《深入RabbitMQ》对RabbitMQ 这一业界主流的消息中间件做了全面介绍,给出了如何使用RabbitMQ 构建消息通信系统的方法和实践。《深入RabbitMQ》从AMQP 协议出发,深入介绍各种消息属性,给出RabbitMQ 在发送和消费消息上的特性和佳实践,并阐述基于RabbitMQ 所特有的交换器组件实现灵活的消息路由机制。同时,本书也讨论了如何利用RabbitMQ 强大的集群机制实现分布式环境下的消息通信,并展示了如何在RabbitMQ中,使用其他传输协议以及数据库集成等功能来实现各种定制化需求。

《深入RabbitMQ》的读者对象为从事互联网行业中各种分布式和服务化系统开发的研究人员、高等院校计算机相关专业的研究生和本科生,以及广大的IT 爱好者。


展开
目录

第一篇  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

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证