《RabbitMQ实战 高效部署分布式消息队列》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)维德拉,(美)威廉姆斯著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121271649
  • 页数:310 页
图书介绍:RabbitMQ是一个高效且易于部署的消息列队,能够在所有情况下有效地管理消息流。本书介绍了如何用多种语言使用RabbitMQ消息服务器构建和管理可扩展的应用。本书开始介绍了消息列队的工作原理、历史,以及RabbitMQ是如何嵌入其中的;然后通过很多实例来研究实际的可扩展性和互通性问题,可以借鉴它们来应对自己的应用中可扩展和互通性方面的挑战。

第1章 天降奇兵 1

1.1 住在别人的地下城堡 3

1.2 救世主AMQP 5

1.3 RabbitMQ简史 5

1.4 百里挑一 8

1.5 在UNIX系统上安装RabbitMQ 8

1.5.1 为什么环境很重要——生活在Erlang的世界里 9

1.5.2 获取安装包 9

1.5.3 设置文件夹结构 9

1.5.4 首次运行Rabbit 10

1.6 总结 12

第2章 理解消息通信 13

2.1 消费者和生产者(这可不是经济学课程哦) 14

2.2 从底部开始构造:队列 17

2.3 联合起来:交换器和绑定 22

2.4 多租户模式:虚拟主机和隔离 27

2.5 我的消息去哪儿了呢?持久化和你的策略 28

2.6 把所有内容结合起来:一条消息的一生 32

2.7 使用发送方确认模式来确认投递 37

2.8 总结 40

第3章 运行和管理Rabbit 42

3.1 服务器管理 43

3.1.1 启动节点 43

3.1.2 停止节点 45

3.1.3 关闭和重启应用程序:有何差别 46

3.1.4 Rabbit配置文件 46

3.2 请求许可 48

3.2.1 管理用户 49

3.2.2 Rabbit的权限系统 50

3.3 检查 54

3.3.1 查看数据统计 54

3.3.2 理解RabbitMQ日志 59

3.4 修复Rabbit:疑难解答 63

由badrpc、nodedown和其他Erlang引起的问题 63

3.5 总结 68

第4章 解决Rabbit相关问题:编码与模式 69

4.1 解耦风雨路:谁将我们推向消息通信 70

4.1.1 异步状态思维(分离请求和动作) 70

4.1.2 提供扩展性:没有负载均衡器的世界 73

4.1.3 零成本API:语言不应成为枷锁 73

4.2 发后即忘模型 74

4.2.1 发送告警 75

4.2.2 并行处理 84

4.3 别忘了:用RabbitMQ实现RPC并等待响应 92

4.3.1 私有队列和发送确认 93

4.3.2 使用reply_to来实现简单的JSON RPC 93

4.4 总结 98

第5章 集群并处理失败 99

5.1 开足马力:RabbitMQ集群 100

5.2 集群架构 101

5.2.1 集群中的队列 101

5.2.2 分布交换器 103

5.2.3 是内存节点还是磁盘节点 104

5.3 在你的笔记本电脑上设置集群 106

5.4 将节点分布到更多的机器上 110

5.5 升级集群节点 114

5.6 镜像队列和保留消息 115

5.6.1 声明并使用镜像队列 115

5.6.2 镜像队列工作原理 118

5.7 总结 120

第6章 从故障中恢复 121

6.1 为Rabbit做负载均衡 122

6.1.1 安装HAProxy 124

6.1.2 配置HAProxy 125

6.2 连接丢失和故障转移 127

6.3 总结 134

第7章 warren和Shovel:故障转移和复制 135

7.1 warren:另一种集群方式 136

7.2 设定负载均衡器——基于主/从的集群 138

7.3 远距离通信和复制 142

7.3.1 给Rabbit装备Shovel:Shovel插件介绍 142

7.3.2 安装Shovel 145

7.3.3 配置并运行Shovel 146

7.4 总结 152

第8章 从Web端管理RabbitMQ 154

8.1 超越rabbitmqctl:RabbitMQManagement插件 155

8.1.1 为何需要Management插件 155

8.1.2 Management插件功能 155

8.1.3 启用Management插件 156

8.2 从Web控制台来管理RabbitMQ 158

8.2.1 监控Erlang VM 158

8.2.2 从JSON文件导入配置 159

8.3 从Web控制台管理用户 160

8.3.1 创建用户 161

8.3.2 管理用户的权限 162

8.4 从Web控制台管理交换器和队列 163

8.4.1 列出队列信息 165

8.4.2 创建队列 166

8.5 回到命令行 168

8.5.1 为什么需要另一个CLI 168

8.5.2 CLI管理:一种更简单的方式 170

8.5.3 安装rabbitmqadmin脚本 170

8.5.4 清空队列、创建交换器等 171

8.6 总结 172

第9章 使用REST API控制Rabbit 173

9.1 能用RabbitMQREST API做什么 175

9.2 对客户端授权访问 177

9.3 访问数据统计 178

9.4 自动化vhost和用户配置 181

9.5 总结 186

第10章 监控 187

10.1 监控RabbitMQ:密切关注你的warren 188

10.1.1 为Nagios编写健康检测 188

10.1.2 使用AMQP模拟检测来确认RabbitMQ是否运行 190

10.1.3 使用RESTAPI来检测 193

10.1.4 监控配置文件修改 196

10.1.5 监控集群状态 201

10.2 确保消费者正常工作 206

10.2.1 通过AMQP监控队列等级 208

10.2.2 使用REST API来监控队列级别 212

10.2.3 建立队列的消息计数基准经验法则 215

10.3 总结 216

第11章 提升性能,保障安全 217

11.1 对速度的需求 218

11.1.1 消息持久化 218

11.1.2 消息确认 219

11.1.3 路由算法和绑定规则 219

11.1.4 投递消息 221

11.2 内存使用率和进程限制 223

11.2.1 内存使用率 223

11.2.2 Erlang进程计数 226

11.3 SSL连接 227

11.3.1 SSL证书 228

11.3.2 设置证书颁发机构 229

11.3.3 生成根证书 233

11.3.4 生成服务器端证书 234

11.3.5 生成客户端证书 235

11.3.6 启用RabbitMQ的SSL监听器 236

11.3.7 测试你的RabbitMQ SSL设置 237

11.4 总结 239

第12章 聪明的Rabbit:扩展RabbitMQ 241

12.1 RabbitMQ插件 242

12.1.1 你可以用插件做什么 242

12.1.2 在哪里可以找到插件 244

12.1.3 安装插件 244

12.1.4 移除插件 245

12.2 制作你自己的插件 247

12.2.1 获取RabbitMQ Public Umbrella 248

12.2.2 设置文件夹结构 249

12.2.3 包含插件构建系统 250

12.2.4 创建Erlang应用文件 250

12.3 创建自定义交换器模块 252

12.3.1 将交换器注册到RabbitMQ 254

12.3.2 实现交换器behaviour 257

12.3.3 编译自定义交换器 264

12.3.4 测试你的插件 267

12.4 总结 271

附录A 在Java和.NET上使用Rabbit 273

附录B 在线资源 302

附录C 在Windows上安装RabbitMQ 307