Akka Camel 多个消费者

Akka Camel multiple consumers

我正在使用 akka + camel 来消费来自 activemq 的消息,我正在尝试弄清楚如何在多台机器上部署这个消费者而不重复消息。在这种情况下,我正在使用来自主题的消息,activemq 应该知道我在各种机器上有一个 akka 系统,而不是各种单一的独立系统。

我尝试使用 akka 集群来实现这一点,但是那个使用订阅后端集群的前端的示例没有帮助,因为我的 "backend" 参与者本身就是 activemq 消费者,我无法告诉 activemq订阅我的集群。

有什么想法吗?

JMS 版本 < 2.0 不允许多个节点共享主题订阅(不向每个消费者复制消息)。为了解决这个问题,ActiveMQ 提供了虚拟主题(您可以使用从允许多个消费者的队列发布到主题的消息 - 负载平衡)。

这都是命名约定。因此,您只需发布到主题 VirtualTopic.Orders,然后从队列 Consumer.ClusterX.VirtualTopic.Orders 中消费。命名约定可以更改 - 请参阅文档。

http://activemq.apache.org/virtual-destinations.html