| 作者: | Alvaro Videla and Jason J.W. Williams |
| 语言: | 英文 |
| 出版年份: | 2012 |
| 下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
《RabbitMQ in Action》是一本面向开发者和架构师的分布式消息中间件实战指南。全书以 RabbitMQ 为核心,从零开始讲解消息队列的基本概念、AMQP 协议原理,逐步深入到集群部署、高可用架构、性能调优和运维监控。两位作者均来自一线工程实践,书中案例源自真实生产场景,强调"动手即学"——读者将用 Python、PHP、Java 等多种语言编写可运行的示例代码。
本书以"理解消息→编写模式→集群高可用→运维管理→扩展定制"为主线。前半部分(第1–4章)建立消息模型基础,涵盖生产者/消费者、队列、交换器、绑定、持久化等核心概念,并展示发后即忘、并行处理、RPC 等经典消息模式。中间部分(第5–7章)聚焦集群与容错:搭建 RabbitMQ 集群、使用镜像队列、通过 HAProxy 实现负载均衡,以及利用 Shovel 插件跨数据中心复制数据。后半部分(第8–12章)转向运维与进阶:Web 管理控制台、REST API 自动化、Nagios 监控、SSL 安全加固、性能调优,最后以自定义插件开发收尾。
| 章节 | 主题 | 核心内容 |
|---|---|---|
| 第1章 | RabbitMQ 入门 | AMQP 协议诞生的行业背景、RabbitMQ 发展简史、Unix 系统安装与目录结构、首个 Hello World 示例 |
| 第2章 | 理解消息 | 生产者/消费者模型、队列声明与属性、交换器类型与绑定规则、虚拟主机隔离、消息与队列持久化、发布者确认机制 |
| 第3章 | 运行与管理 | 节点启动/停止/重启的区别、配置文件管理、用户与权限系统(读/写/配置)、统计信息查看、日志解读与常见故障排查 |
| 第4章 | 编码与模式 | 发后即忘模型(告警发送)、并行处理(工作队列)、基于 reply_to 的 JSON-RPC 架构、应答与私有队列 |
| 第5章 | 集群 | 集群架构原理、队列与交换器在集群中的分布、RAM 节点与磁盘节点的选择、镜像队列的声明与内部同步机制、集群升级流程 |
| 第6章 | 容错编程 | HAProxy 安装与配置实现 RabbitMQ 负载均衡、客户端连接断开检测与自动重连策略 |
| 第7章 | 故障转移与复制 | Warren 主备集群架构、基于负载均衡器的主动/备用切换、Shovel 插件安装配置、跨数据中心消息复制 |
| 第8章 | Web 管理 | Management 插件功能概览与启用、Web 控制台管理交换器和队列、用户创建与权限分配、rabbitmqadmin 命令行工具 |
| 第9章 | REST API | API 端点与权限控制、统计数据查询、vhost 和用户的自动化创建与配置 |
| 第10章 | 监控 | Nagios 健康检查脚本编写、AMQP 模拟检测确认 broker 存活、REST API 监控队列积压、队列基线设定经验法则 |
| 第11章 | 性能与安全 | 消息持久化与确认对吞吐量的影响、路由算法与绑定优化、内存阈值与 Erlang 进程数限制、SSL 证书生成与加密通信配置 |
| 第12章 | 扩展 RabbitMQ | 插件查找/安装/卸载、RabbitMQ Public Umbrella 开发环境搭建、自定义交换器模块的 Erlang 实现与编译测试 |
本书适合需要引入消息队列解决解耦、异步处理和系统扩展问题的后端开发者和架构师。无需消息中间件背景——作者刻意从零讲起,前两章即可建立完整的概念框架。运维工程师也可从中获得集群部署、监控告警和性能调优的实操指导。书中示例以 Python 和 PHP 为主,附录补充 Java 与 .NET,多语言开发者均可受益。
《RabbitMQ in Action》是 RabbitMQ 领域的经典入门-进阶读物。它的突出优势在于"全链路覆盖":从协议原理到编码模式,从集群部署到运维监控,再到插件开发,一本书打通 RabbitMQ 的完整知识体系。2012 年出版至今,书中关于 AMQP 0-9-1 模型、消息模式、集群架构的核心内容依然有效。不足之处在于部分运维工具(如 Nagios)和版本细节已显陈旧,读者需结合 RabbitMQ 最新文档补充阅读。总体而言,对于希望系统掌握 RabbitMQ 的工程师,本书仍是首选参考之一。