Apache ActiveMQ - 概述

什么是 ActiveMQ?

ActiveMQ 是一个用 Java 编写的开源消息代理。 它完全符合 JMS 1.1 标准。 它由 Apache Software Foundation 开发和维护,并在 Apache 许可下获得许可。 它为企业级消息传递应用程序提供高可用性、可扩展性、可靠性、性能和安全性。

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

AMQ

消息类型

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

点对点

在这种类型的通信中,代理只向一个消费者发送消息,而其他消费者将等到他们从代理那里得到消息。 没有消费者会收到相同的消息。

如果没有消费者,Broker 将持有消息直到它得到消费者。 这种类型的通信也称为基于队列的通信,其中生产者将消息发送到队列,并且只有一个消费者从队列中获取一条消息。 如果有多个消费者,他们可能会收到下一条消息,但他们不会收到与其他消费者相同的消息。

点对点消息

发布/订阅

在这种类型的通信中,Broker 向所有活跃的消费者发送相同的消息副本。 这种类型的通信也称为基于主题的通信,其中代理向所有订阅特定主题的活跃消费者发送相同的消息。 该模型支持单向通信,不需要验证传输的消息。

发布/订阅消息