我正在使用akka camel来消费来自activemq的消息,我正在试图弄清楚如何在多台机器上部署这个消费者,而不会重复消息 . 在这种情况下,我正在消费来自主题的消息,而activemq应该知道我在各种机器中有一个akka系统,而不是各种单独的独立系统 .
我尝试使用akka集群实现这一点,但是使用前端订阅后端集群的示例没有帮助,因为我的“后端”actor是activemq消费者本身,我不能告诉activemq订阅我的集群 .
有任何想法吗?
JMS版本<2.0不允许多个节点共享主题订阅(不会将消息复制到每个使用者) . 为了应对ActiveMQ提供虚拟主题(您可以使用从队列中发布到主题的消息,允许多个消费者 - 负载 balancer ) .
这是所有命名约定 . 因此,您只需发布到主题 VirtualTopic.Orders ,然后从队列 Consumer.ClusterX.VirtualTopic.Orders 中使用 . 命名约定可以更改 - 请参阅docs .
VirtualTopic.Orders
Consumer.ClusterX.VirtualTopic.Orders
http://activemq.apache.org/virtual-destinations.html
1 回答
JMS版本<2.0不允许多个节点共享主题订阅(不会将消息复制到每个使用者) . 为了应对ActiveMQ提供虚拟主题(您可以使用从队列中发布到主题的消息,允许多个消费者 - 负载 balancer ) .
这是所有命名约定 . 因此,您只需发布到主题
VirtualTopic.Orders
,然后从队列Consumer.ClusterX.VirtualTopic.Orders
中使用 . 命名约定可以更改 - 请参阅docs .http://activemq.apache.org/virtual-destinations.html