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-cpp pull consumer 接收远程地址