有没有办法用ActiveMQ实现拓扑,其中P是发布者,s_a是服务A的订户,而shield1和pipes2是服务B的订户。后者在集群中设置以实现负载平衡(所以pipes1或者save2获取消息但不是两者都有。)
有没有办法将发布 - 订阅与点对点消息传递相结合,因此其中一个订阅者将是两个消费者正在侦听的队列?
谢谢,
吉尔
答案 0 :(得分:3)
是的,这可以做到。
您可能希望查看实现Apache ActiveMQ Artemis的JMS 2.0并支持开箱即用的要求。 JMS 2.0允许每个主题的多个订阅者对群集进行负载平衡。
对于ActiveMQ和JMS 1.0,您可以使用Virtual Destinations代替。它们使用命名约定。
如果您为主题命名:VirtualTopic.StockPrice
并向其发布消息,您将能够使用名为Consumer.Consumer1.VirtualTopic.StockPrice
,Consumer.Consumer2.VirtualTopic.StockPrice
等的队列。消费者1可以是任何内容。
您可以重新配置ActiveMQ以使用虚拟目标的其他名称(前缀,后缀等)。