【问题标题】:ActiveMQ - difference between topic and concurrent consumer in a queue?ActiveMQ - 队列中主题和并发消费者之间的区别?
【发布时间】:2015-06-25 14:49:22
【问题描述】:
我正在尝试使用 apache ActiveMQ 我已经使用 spring 制作了我的第一个应用程序。我现在正在尝试实现发布者/订阅者应用程序,所有对等方都可以随时参与发布,订阅者将收到发布的任何内容.在谷歌搜索时,遇到了Topic 和the Concurrent consumers of the queue 这两个术语,现在我有点困惑。我对此有几个问题:
- 两者有何不同?
- 这里的目的可以更有效吗?
【问题讨论】:
标签:
java
jms
activemq
spring-jms
jms-topic
【解决方案1】:
队列上的并发消费者竞争队列中的消息。每条消息只有一个消费者接收。容器中的并发消费者通常用于提高性能,只要消息顺序不重要。
Competing Consumers 是指多个消费者在队列中竞争消息。这可以是多个容器或单个容器中的多个并发消费者。
主题上的消费者都会收到每条消息(只要当前订阅,或者订阅是持久的 - 这不是默认值)。
在收听主题时,每个容器通常只有一个消费者。