具有多个客户端的 AMQ 地址到多播队列
AMQ Address with multiple clients to a multicast queue
我的查询是针对产品 Red Hat AMQ 7.X(我使用的是 7.2),它基于 Apache ActiveMQ Artemis 和使用 AMQP 协议连接到队列的 .Net 客户端。
一篇 Artemis 文章讨论了单播(点对点)、多播(发布-订阅)以及这些寻址的组合:https://activemq.apache.org/artemis/docs/2.0.0/address-model.html
它没有详细说明两个消费者在一个地址下连接到同一个多播队列的情况。我们的要求是
- 具有发布-订阅通信模型,发布者发布到多播地址。
- 有许多队列可以根据发布的消息采取行动,比如一个队列用于 "FollowupJob",另一个队列用于 "MailerComponent"。
- 有 X 个消费者 - "MailerComponent" 连接到一个队列以分配负载,以便传递到该队列的消息以循环方式在 X 个消费者之间分发。
后面的部分描述了这样的配置:https://activemq.apache.org/artemis/docs/2.0.0/address-model.html#configuring-a-shared-durable-subscription-queue-with-up-to-10-concurrent-consumers
它似乎满足我的需要,但我想仔细检查一下,因为上面的解释没有涵盖这种情况。
除非您将 max-consumers
设置为 1
或将 exclusive
设置为 true
。[=14=,否则任何队列(无论是多播还是任播)都可以支持多个消费者]
我的查询是针对产品 Red Hat AMQ 7.X(我使用的是 7.2),它基于 Apache ActiveMQ Artemis 和使用 AMQP 协议连接到队列的 .Net 客户端。
一篇 Artemis 文章讨论了单播(点对点)、多播(发布-订阅)以及这些寻址的组合:https://activemq.apache.org/artemis/docs/2.0.0/address-model.html
它没有详细说明两个消费者在一个地址下连接到同一个多播队列的情况。我们的要求是
- 具有发布-订阅通信模型,发布者发布到多播地址。
- 有许多队列可以根据发布的消息采取行动,比如一个队列用于 "FollowupJob",另一个队列用于 "MailerComponent"。
- 有 X 个消费者 - "MailerComponent" 连接到一个队列以分配负载,以便传递到该队列的消息以循环方式在 X 个消费者之间分发。
后面的部分描述了这样的配置:https://activemq.apache.org/artemis/docs/2.0.0/address-model.html#configuring-a-shared-durable-subscription-queue-with-up-to-10-concurrent-consumers 它似乎满足我的需要,但我想仔细检查一下,因为上面的解释没有涵盖这种情况。
除非您将 max-consumers
设置为 1
或将 exclusive
设置为 true
。[=14=,否则任何队列(无论是多播还是任播)都可以支持多个消费者]