ActiveMQ

Posted Luther-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActiveMQ相关的知识,希望对你有一定的参考价值。

上篇介绍了ActiveMQ应用场景。

下面学习ActiveMQ的概念,首先搞清楚ActiveMQ的两种消息模式:

1.点对点的消息模式,2.订阅消息模式

点对点消息模式的解释:

点对点消息模式:Point-to-Point(P2P)

P2P模型图:

P2P概念:

消息队列(Queue)

发送者(Sender)

接收者(Receiver)

每个消息发送都会发送指定的消息队列,接收者从消息队列获取消息,队列会保留消息,直到消费,或者超时.

P2P特点:

每个消息只有一个消费者,(消息一旦被消费,消息就不存在消息队列中)

发送者和接收者没有依赖性

接收者成功接收消息之后,需要向队列反馈信息

首先要建立一个消息队列,当发送端链接消息队列的时候,不需要知道接受端有没有接收,只管发送,接收者监听消息队列,有消息进来就消费,如果没有接收者,消息队列会保存发送者发来的消息,直到消费,或者超时.消息队列允许有多个发送者,和接收者,但是消息只有一个消费者(Consumer),本着先到先得的原则。

应用场景:如果希望每条消息都要需要成功处理的话,需要应用P2P 模式。

订阅模式解释:

订阅消息模式:Publish/Subscribe(Pub/Sub)

Pub/Sub模型图:


Pub/Sub概念:

主题(Topic)

发布者(Publisher)

订阅者(Subscriber

客户端将消息发送到发布者,发布者将消息发送到Topic,然后再把消息传送到订阅者。

Pub/Sub的特点:

每个消息可以有多个消费者

发布者和订阅者之间有时间上的依赖,对于Topic订阅者来讲,如果要消费发布者的消息,必须要创建一个订阅者来消费发布者的信息,而P2P模式就没有这种依赖性,而且

为了消费消息,订阅者必须保持运行状态。

Pub/Sub 模式应用场景:如果消息可以不需要处理,或者可以被多个消费者处理的话,那么,可以采用Pub/Sub 模式.












以上是关于ActiveMQ的主要内容,如果未能解决你的问题,请参考以下文章

activeMQ基础知识

ActiveMQ消息发送与接收

activemq-cpp pull consumer 接收远程地址

ActiveMQ实例1--简单的发送和接收消息

使用 Python+Stomp.py 和 ActiveMQ 发送/接收图像

ActiveMQ的介绍及使用