-
内容大纲
朱忠华著的《RabbitMQ实战指南》从消息中间件的概念和RabbitMQ的历史切入,主要阐述RabbitMQ的安装、使用、配置、管理、运维、原理、扩展等方面的细节。本书大致可以分为基础篇、进阶篇和高阶篇三个部分。基础篇首先介绍RabbitMQ的基本安装及使用方式,方便零基础的读者以最舒适的方式融入到RabbitMQ之中。其次介绍RabbitMQ的基本概念,包括生产者、消费者、交换器、队列、绑定等。之后通过Java语言讲述了客户端如何与RabbitMQ建立(关闭)连接、声明(删除)交换器、队列、绑定关系,以及如何发送和消费消息等。进阶篇讲述RabbitMQ的TTL、死信、延迟队列、优先级队列、RPC、消息持久化、生产端和消费端的消息确认机制等内容,以期读者能够掌握RabbitMQ的使用精髓。本书中间篇幅主要从RabbitMQ的管理、配置、运维这三个角度来为读者提供帮助文档及解决问题的思路。高阶篇主要阐述RabbitMQ的存储机制、流控及镜像队列的原理,深入地讲述RabbitMQ的一些实现细节,便于读者加深对RabbitMQ的理解。本书还涉及网络分区的概念,此内容可称为魔鬼篇,需要掌握前面的所有内容才可理解其中的门道。本书最后讲述的是RabbitMQ的一些扩展内容及附录,供读者参考之用。
本书既可供初学者学习,帮助读者了解RabbitMQ的具体细节及使用方式、原理等,也可供相关开发、测试及运维人员参考,给日常工作带来启发。 -
作者介绍
朱忠华,目前主要从事消息中间件相关的研发工作,对RabbitMQ、Kafka等有着自己独特的理解。 -
目录
第1章 RabbitMQ简介
1.1 什么是消息中间件
1.2 消息中间件的作用
1.3 RabbitMQ的起源
1.4 RabbitMQ的安装及简单使用
1.4.1 安装Erlang
1.4.2 RabbitMQ的安装
1.4.3 RabbitMQ的运行
1.4.4 生产和消费消息
1.5 小结
第2章 RabbitMQ入门
2.1 相关概念介绍
2.1.1 生产者和消费者
2.1.2 队列
2.1.3 交换器、路由键、绑定
2.1.4 交换器类型
2.1.5 RabbitMQ运转流程
2.2 AMQP协议介绍
2.2.1 AMQP生产者流转过程
2.2.2 AMQP消费者流转过程
2.2.3 AMQP命令概览
2.3 小结
第3章 客户端开发向导
3.1 连接RabbitMQ
3.2 使用交换器和队列
3.2.1 exchangeDeclare方法详解
3.2.2 queueDeclare方法详解
3.2.3 queueBind方法详解
3.2.4 exchangeBind方法详解
3.2.5 何时创建
3.3 发送消息
3.4 消费消息
3.4.1 推模式
3.4.2 拉模式
3.5 消费端的确认与拒绝
3.6 关闭连接
3.7 小结
第4章 RabbitMQ进阶
4.1 消息何去何从
4.1.1 mandatory参数
4.1.2 immediate参数
4.1.3 备份交换器
4.2 过期时间(TTL)
4.2.1 设置消息的TTL
4.2.2 设置队列的TTL
4.3 死信队列
4.4 延迟队列
4.5 优先级队列
4.6 RPC实现
4.7 持久化
4.8 生产者确认
4.8.1 事务机制
4.8.2 发送方确认机制
4.9 消费端要点介绍
4.9.1 消息分发
4.9.2 消息顺序性
4.9.3 弃用QueueingConsumer
4.10 消息传输保障
4.11 小结
第5章 RabbitMQ管理
5.1 多租户与权限
5.2 用户管理
5.3 Web端管理
5.4 应用与集群管理
5.4.1 应用管理
5.4.2 集群管理
5.5 服务端状态
5.6 API接口管理
5.7 小结
第6章 RabbitMQ配置
6.1 环境变量
6.2 配置文件
6.2.1 配置项
6.2.2 配置加密
6.2.3 优化网络配置
6.3 参数及策略
6.4 小结
第7章 RabbitMQ运维
7.1 集群搭建
7.1.1 多机多节点配置
7.1.2 集群节点类型
7.1.3 剔除单个节点
7.1.4 集群节点的升级
7.1.5 单机多节点配置
7.2 查看服务日志
7.3 单节点故障恢复
7.4 集群迁移
7.4.1 元数据重建
7.4.2 数据迁移和客户端连接的切换
7.4.3 自动化迁移
7.5 集群监控
7.5.1 通过 API接口提供监控数据
7.5.2 通过客户端提供监控数据
7.5.3 检测RabbitMQ服务是否健康
7.5.4 元数据管理与监控
7.6 小结
第8章 跨越集群的界限
8.1 Federation
8.1.1 联邦交换器
8.1.2 联邦队列
8.1.3 Federation的使用
8.2 Shovel
8.2.1 Shovel的原理
8.2.2 Shovel的使用
8.2.3 案例:消息堆积的治理
8.3 小结
第9章 RabbitMQ高阶
9.1 存储机制
9.1.1 队列的结构
9.1.2 惰性队列
9.2 内存及磁盘告警
9.2.1 内存告警
9.2.2 磁盘告警
9.3 流控
9.3.1 流控的原理
9.3.2 案例:打破队列的瓶颈
9.4 镜像队列
9.5 小结
第10章 网络分区
10.1 网络分区的意义
10.2 网络分区的判定
10.3 网络分区的模拟
10.4 网络分区的影响
10.4.1 未配置镜像
10.4.2 已配置镜像
10.5 手动处理网络分区
10.6 自动处理网络分区
10.6.1 pause-minority模式
10.6.2 pause-if-all-down模式
10.6.3 autoheal模式
10.6.4 挑选哪种模式
10.7 案例:多分区情形
10.8 小结
第11章 RabbitMQ扩展
11.1 消息追踪
11.1.1 Firehose
11.1.2 rabbitmq_tracing插件
11.1.3 案例:可靠性检测
11.2 负载均衡
11.2.1 客户端内部实现负载均衡
11.2.2 使用HAProxy实现负载均衡
11.2.3 使用Keepalived实现高可靠负载均衡
11.2.4 使用Keepalived+LVS实现负载均衡
11.3 小结
附录A 集群元数据信息示例
附录B /api/nodes接口详细内容
附录C 网络分区图谱
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...