我正在使用akka + camel来消费来自activemq的消息,而我正试图找出如何在多台机器中部署此消费者而不重复消息。在这种情况下,我正在使用来自主题的消息,而activemq应该知道我在各种机器中有一个akka系统,而不是各种单独的独立系统。
我尝试使用akka集群实现这一点,但是使用订阅后端集群的前端的示例没有帮助,因为我的“后端”actor是activemq消费者本身,我无法告诉activemq订阅我的群集。
有什么想法吗?
答案 0 :(得分:3)
JMS版本< 2.0不允许多个节点共享主题订阅(不将消息复制到每个消费者)。为了应对ActiveMQ提供的虚拟主题(您可以使用从队列中发布到主题的消息,允许多个消费者 - 负载平衡)。
它的所有命名约定。因此,您只需发布到主题VirtualTopic.Orders
,然后从队列Consumer.ClusterX.VirtualTopic.Orders
中消费。命名约定可以更改 - 请参阅文档。