Apache Activemq 简明教程

Apache ActiveMQ - Overview

What is ActiveMQ?

ActiveMQ 是使用 Java 编写的开源消息代理。它完全符合 JMS 1.1 标准。它是由 Apache 软件基金会开发和维护的,并在 Apache 许可证下获得许可。它为企业级消息传递应用程序提供高可用性、可伸缩性、可靠性、性能和安全性。

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

amq

Types of Messaging

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

Point to Point

在这种通信方式中,代理只会向一个消费者发送消息,而其他消费者将等待从代理获得消息。没有消费者会收到相同的消息。

如果没有消费者,代理将一直持有消息,直到它得到消费者。这种通信方式也称为 Queue based communication ,生产者将消息发送到队列,并且只有一个消费者从队列中获取一条消息。如果有超过一个消费者,他们可能会获得下一条消息,但他们不会收到与其他消费者相同的消息。

point to point messaging

Publish/Subscribe

在这种通信方式中,代理会向所有活跃的消费者发送消息的同份副本。这种通信方式也称为 Topic based communication ,代理向所有为特定主题订阅的活跃消费者发送相同的消息。此模型支持单向通信,其中不期望对已传输的消息进行验证。

publish subscribe messaging