- RabbitMQ 教程
- RabbitMQ - 主页
- RabbitMQ - 概述
- RabbitMQ - 环境设置
- RabbitMQ - 功能
- RabbitMQ - 安装
- 基于队列的示例
- RabbitMQ - 生产者应用程序
- RabbitMQ - 消费者应用程序
- RabbitMQ - 测试应用程序
- 基于主题的示例
- RabbitMQ - 发布者应用程序
- RabbitMQ - 订阅者应用程序
- RabbitMQ - 测试应用程序
- RabbitMQ 有用资源
- RabbitMQ - 快速指南
- RabbitMQ - 有用的资源
- RabbitMQ - 讨论
RabbitMQ - 概述
什么是 RabbitMQ?
RabbitMQ 是一个用 Java 编写的开源消息代理。它完全符合 JMS 1.1 标准。它由 Apache Software Foundation 开发和维护,并根据 Apache 许可证获得许可。它为企业级消息传递应用程序提供高可用性、可扩展性、可靠性、性能和安全性。
JMS 是一种允许开发基于消息的系统的规范。RabbitMQ 充当消息代理,位于应用程序之间,并允许它们以异步且可靠的方式进行通信。
消息传递类型
为了更好地理解,下面解释了两种类型的消息传递选项。
点对点
在这种类型的通信中,代理仅向一个消费者发送消息,而其他消费者将等待,直到从代理获取消息。没有消费者会收到相同的消息。
如果没有消费者,Broker 将保留消息,直到找到消费者。这种类型的通信也称为基于队列的通信,其中生产者将消息发送到队列,并且只有一个消费者从队列中获取一条消息。如果有多个消费者,他们可能会收到下一条消息,但不会收到与其他消费者相同的消息。
发布/订阅
在这种类型的通信中,代理将相同的消息副本发送给所有活跃的消费者。这种类型的通信也称为基于主题的通信,其中代理向订阅特定主题的所有活跃消费者发送相同的消息。该模型支持单向通信,无需验证传输的消息。