【问题标题】:AMQ Address with multiple clients to a multicast queue具有多个客户端的 AMQ 地址到多播队列
【发布时间】:2019-01-04 15:39:24
【问题描述】:

我的查询是针对产品 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 它似乎满足了我的需要,但我想仔细检查,因为上面的解释没有涵盖这种情况。

【问题讨论】:

  • 我建议您将由两部分组成的问题分成 2 个实际问题,否则您可能会得到一个部分的答案而不是另一部分的答案,并且很难确定哪个答案是完全正确的。
  • 谢谢@JustinBertram,将第二部分移到这里stackoverflow.com/questions/51579188/…

标签: amqp activemq-artemis jboss-amq


【解决方案1】:

任何队列(无论是多播还是任播)都可以支持多个消费者,除非您将max-consumers 设置为1exclusive 设置为true

【讨论】:

    猜你喜欢
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    相关资源
    最近更新 更多