ActiveMQ - 结合发布 - 订阅和点对点

时间:2016-05-04 07:40:28

标签: jms activemq publish-subscribe p2p

有没有办法用ActiveMQ实现拓扑,其中P是发布者,s_a是服务A的订户,而shield1和pipes2是服务B的订户。后者在集群中设置以实现负载平衡(所以pipes1或者save2获取消息但不是两者都有。)

有没有办法将发布 - 订阅与点对点消息传递相结合,因此其中一个订阅者将是两个消费者正在侦听的队列?

谢谢,

吉尔

1 个答案:

答案 0 :(得分:3)

是的,这可以做到。

您可能希望查看实现Apache ActiveMQ ArtemisJMS 2.0并支持开箱即用的要求。 JMS 2.0允许每个主题的多个订阅者对群集进行负载平衡。

对于ActiveMQ和JMS 1.0,您可以使用Virtual Destinations代替。它们使用命名约定。

如果您为主题命名:VirtualTopic.StockPrice并向其发布消息,您将能够使用名为Consumer.Consumer1.VirtualTopic.StockPriceConsumer.Consumer2.VirtualTopic.StockPrice等的队列。消费者1可以是任何内容。

您可以重新配置ActiveMQ以使用虚拟目标的其他名称(前缀,后缀等)。