RabbitMQ 教程
这些教程涵盖了使用 RabbitMQ 构建消息传递应用程序的基础知识。
你需要安装 RabbitMQ 服务器才能完成这些教程,请参阅安装指南或使用社区 Docker 镜像。
教程分为三组
信息
本教程针对 RabbitMQ 4.x 版本。
- AMQP 1.0
- AMQP 0-9-1
使用 AMQP 1.0 的队列教程
本节介绍 RabbitMQ 中的现代消息协议 AMQP 1.0。该协议无需启用任何插件即可直接使用。
1. “Hello World!”做某事的最简单示例 | 2. 工作队列 (Work Queues)在工作者之间分发任务(竞争消费者模式) | 3. 发布/订阅 (Publish/Subscribe)一次向多个消费者发送消息 |
4. 路由 (Routing)选择性地接收消息 | 5. 主题 (Topics)基于模式(主题)接收消息 | 6. RPC请求/响应模式示例 |
队列教程
本节介绍 RabbitMQ 的默认协议 AMQP 0-9-1。
1. “Hello World!”做某事的最简单示例 | 2. 工作队列在工作者之间分发任务(竞争消费者模式) | 3. 发布/订阅一次向多个消费者发送消息 |
4. 路由选择性地接收消息 | 5. 主题基于模式(主题)接收消息 | 6. RPC请求/响应模式示例 |
7. 发布者确认 (Publisher Confirms)通过发布者确认实现可靠发布 |
AMQP 0-9-1 概述
完成教程后(或者如果你想直接跳过),你可能希望阅读RabbitMQ 概念介绍,并查看兼容性和一致性页面,以找到相关资源,进一步了解 RabbitMQ 实现的两个核心协议:AMQP 1.0 和 AMQP 0-9-1。
流 (Stream) 教程
本节介绍 RabbitMQ 流。
1. “Hello World!”做某事的最简单示例 | 2. 偏移量追踪 (Offset Tracking)跟踪消息处理进度 |
流概述和博客文章
完成教程后(或者如果你想直接跳过),你可能希望阅读 RabbitMQ 流文档并浏览我们的流博客文章。
获取帮助
如果你对 RabbitMQ 有任何问题或建议,欢迎在 GitHub Discussion 或 RabbitMQ 社区 Discord 服务器上提问。
其他语言教程
此处的教程使用了多种流行技术,但还有许多其他语言和客户端库的移植版本,例如:
- 使用 amqprs 的 Rust
- 使用 Lapin 的 Rust
- Clojure (使用 Langohr)
- Erlang (使用 RabbitMQ Erlang 客户端)
- Haskell (使用 Network.AMQP)
- Perl (使用 Net::RabbitFoot)
- Perl (使用 Net::AMQP::RabbitMQ)
- Scala (使用 RabbitMQ Java 客户端)
我们还维护了一份由社区开发的,针对 RabbitMQ 支持的各种协议的客户端和开发工具列表。