RabbitMQ - 概述



RabbitMQ 是什么?

RabbitMQ 是用 Java 编写的一个开源消息代理。它完全符合 JMS 1.1 标准。由 Apache 软件基金会开发和维护,并根据 Apache 许可证获得授权。它为企业级消息应用程序提供高可用性、可扩展性、可靠性、性能和安全性。

JMS 是一个允许开发基于消息的系统的规范。RabbitMQ 充当消息的代理,它位于应用程序之间,允许它们以异步和可靠的方式进行通信。

AMQ

消息类型

以下解释两种类型的消息传递选项,以便更好地理解。

点对点

在此类通信中,代理仅向一个消费者发送消息,而其他消费者将一直等待,直到它们从代理中获取消息为止。没有消费者会收到相同的消息。

如果没有消费者,代理将持有消息,直到它得到一个消费者。此类通信也被称为基于队列的通信,其中 Producer 将消息发送到队列,而只有一个 Consumer 从队列中获取一条消息。如果有多个消费者,它们可能会收到下一条消息,但它们不会像其他消费者一样收到相同的消息。

Point to Point Messaging

发布/订阅

在此类通信中,代理将同一份消息发送到所有活动消费者。此类通信也称为基于主题的通信,其中代理将相同的消息发送到订阅了特定主题的所有活动消费者。此模型支持单向通信,其中不需要对传输的消息进行验证。

Publish/Subscribe Messaging
广告
© . All rights reserved.