0

我是 ActiveMQ 的新手,我也在 stackoverflow 中进行了大量的谷歌搜索和搜索,但仍然没有看到以下问题的明确答案:

是否可以告诉/配置 ActiveMQ 以循环方式从一组订阅者中仅向一个订阅者发送已发布的消息?

让我更好地解释一下这个场景......在我们的生产系统中,我们显然为每个 Web 应用程序模块运行不止一个服务器。假设我们在 10 台服务器上运行了 webapp 模块“USER”。每台服务器在启动时都会订阅主题“TOPIC1”。其他一些模块(或外部系统)向 TOPIC1 发布消息。我不希望所有 10 台服务器都收到完全相同的消息。相反,我希望 ActiveMQ 意识到这 10 个服务器作为一个“组”订阅了 TOPIC1,并以循环方式只选择其中一个来发送消息。可以将 ActiveMQ 配置为执行此操作吗?

在您回答“使用消息组!”之前 让我告诉你我已经阅读了所有关于它们的内容,它似乎是 ActiveMQ 的“粘性”负载平衡机制。意思是,在这 10 个服务器中,它会选择一个(我猜是随机的),从那时起,发布到 TOPIC1 的任何消息都将始终发送到该服务器,我无法指定服务器 1-10 正在参与TOPIC1 的“订阅组”,并以循环方式向他们提供 TOPIC1 消息。

有人可以证实或否认我的假设吗?如果确认,是否有任何主题订阅示例可以实现上述场景?

谢谢,-Jac

4

0 回答 0