RabbitMQ实战

RabbitMQ实战:高效部署分布式消息队列

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

  绝大多数应用程序的核心都有一个虚拟交换机,用于在服务器、程序和服务之间快速传递消息。RabbitMQ是一个高效且易于部署的消息队列服务器,它可以轻而易举地处理各种情形下的消息通信,不论是网络初创公司还是大型企业系统。

  本书能够教会你如何使用RabbitMQ消息通信服务器,构建和管理用不同语言编写的可伸缩应用。这很容易上手。你将学习消息队列的工作原理以及RabbitMQ是如何适用的。然后,你将通过许多案例来探索实践当中的可扩展性和互操作性问题。最后,你将学习如何将Rabbit打造成一部运作良好的机器,以应对24×7×365的无间断工作环境。

  本书包以下内容

  □ 学习基本消息通信设计模式

  □ 使用模式来满足按需扩展

  □ 整合PHP编写的前端和用任何语言编写的后端

  □ 在30分钟内实现发布/订阅的告警服务

  □ 配置RabbitMQ内建集群

  □ 监控、管理、扩展并调试RabbitMQ

  本书是为那些熟悉Python、PHP、Java、.NET或者任何其他现代编程语言的开发者编写的。无须任何RabbitMQ经验。

内容简介

  《RabbitMQ实战:高效部署分布式消息队列》对RabbitMQ做了全面、翔实的讲解,体现了两位专家的真知灼见。《RabbitMQ实战:高效部署分布式消息队列》首先介绍了有关MQ的历史,然后从基本的消息通信原理讲起,带领读者一路探索RabbitMQ的消息通信世界。这当中不仅包含了针对单台RabbitMQ服务器和RabbitMQ集群的讲解,还教导读者如何使用各种工具来进行监控。

  《RabbitMQ实战:高效部署分布式消息队列》内容浅显易懂,文笔风趣幽默。《RabbitMQ实战:高效部署分布式消息队列》中包含了丰富的、可以运行的示例程序源代码,读者可以自行下载并运行,这种亲身实践有助于加深对相关主题的理解。对于初学者来说,这样的编排非常适用。

作者简介

  Alvaro Videla,是一名专门从事基于MQ应用程序的开发者和架构师。

  Jason J.W. Williams,是消息通信服务供应商DigiTar公司的CTO,他领导着设计与开发工作。

章节目录

第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 安装HAProxy124

6.1.2 配置HAProxy125

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:RabbitMQ Management插件 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 能用RabbitMQ REST 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 使用REST API 来检测 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:扩展RabbitMQ241

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

RabbitMQ实战是2015年由电子工业出版社出版,作者[美]AlvaroVidela。

得书感谢您对《RabbitMQ实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
大话量子通信 电子书
量子物理学博士,科普达人“九维空间”的全新力作。
5G无线增强设计与国际标准 电子书
一书详解5G技术与标准,适合移动通信学者、工程师。
业余无线电通信(第四版) 电子书
  《业余无线电通信(第4版)》由国内的第一代资深业余无线电会员童效勇(呼号 BA1AA)陈方(呼号 BA4RC)主持编写,《业余无线电通信(第4版)》一直作为中国无线电协会的培训考试推荐用书供全国的爱好者使用。
5G无线网络优化 电子书
“发展数字经济,打造数字中国。”党的十九大报告指出,网络强国建设是一项重大战略部署。中 央经济工作会议提出,加快5G商用步伐,加强人工智能、工业互联网、物联网等新型基础设施建设。“信息随心至,万物触手连”5G作为新一代通信技术,其关键技术、网络架构及行业应用有翻天覆地的变化。 本书针对的问题: (1)5G技术标准仍未完全锁定,当前市场上关于5G的技术书籍或多或少都有些“大而全”的特点,主要是在翻译外文献的程度,未能从实际工程应用的角度,深入浅出地介绍5G系统,有效指导工程5G优化工作。 (2)站在行业的角度,当前“5G 行业应用”宣传较多,行业内并没有真正地深入剖析具体优化方法和思路,缺乏5G网络优化的具体流程与步骤,以及相关应用的具体案例。 (3)站在电信运营商的角度,电信运营商目前对如何建设一张优质的5G网络,如何进行有效地维护优化都仍在探讨阶段。 本书的主要内容: (1)通过对移动通信的发展史阐述,通俗易懂地解释2G/3G/4G的主要关键技术及演进。 (2)对5G标准组织、技术体系、关键技术、产业发展给出了全面而又深入浅出的分析。 (3)对5G的信令流程以及关键参数设置进一步分析研究,使其能够在实际工作中予以参考。 (4)对5G技术本身进行分析,重点分析了5G网络优化的方法与思路,通过实际工作中的经验总结5G无线网络优化的具体流程与步骤,能够有效地指导相关通信从事者工作。 (5)针对现阶段5G网络中国电信和中国联通的共享共建也进行了详细的分析阐述。 (6)对5G通信进行了详细的探讨,还进一步分析了未来网络的研究以及6G的相关技术趋势。
量子保密通信网络及应用 电子书
1.质量保证,本书出自工作在国内ling先的量子通信专业公司的专家之手。 2.理论实践相结合,不但讲述“如何做”(特别是在实际中如何做),更加讲述了“为什么要这么做”。 3.实例真实可靠,本书侧重介绍量子通信从理论到工程实践的应用,数据图表来源实际工程,真实可靠。 4.内容严谨,方便查询。全书参考并引用了大量的国外专著和文献,方便读者进一步扩展学习。