首页 文章

Akka Camel多个消费者

提问于
浏览
2

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

我尝试使用akka集群实现这一点,但是使用前端订阅后端集群的示例没有帮助,因为我的“后端”actor是activemq消费者本身,我不能告诉activemq订阅我的集群 .

有任何想法吗?

1 回答

  • 3

    JMS版本<2.0不允许多个节点共享主题订阅(不会将消息复制到每个使用者) . 为了应对ActiveMQ提供虚拟主题(您可以使用从队列中发布到主题的消息,允许多个消费者 - 负载 balancer ) .

    这是所有命名约定 . 因此,您只需发布到主题 VirtualTopic.Orders ,然后从队列 Consumer.ClusterX.VirtualTopic.Orders 中使用 . 命名约定可以更改 - 请参阅docs .

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

相关问题