【发布时间】:2015-07-07 10:35:04
【问题描述】:
我有一个 Rabbit 主题,其中有多个(比如 2 个)订阅者,它在负载平衡的应用程序服务器集群(比如 3 个)中运行。
那么消息将被传送到集群环境中所有侦听器的所有 (2 X 3) 订阅者还是仅 2 个侦听器?
【问题讨论】:
标签: spring rabbitmq cluster-computing load-balancing spring-amqp
我有一个 Rabbit 主题,其中有多个(比如 2 个)订阅者,它在负载平衡的应用程序服务器集群(比如 3 个)中运行。
那么消息将被传送到集群环境中所有侦听器的所有 (2 X 3) 订阅者还是仅 2 个侦听器?
【问题讨论】:
标签: spring rabbitmq cluster-computing load-balancing spring-amqp
rabbitmq (amqp) 中没有“主题”之类的东西。
对于您的场景,最接近 JMS 主题的是 fanout 交换,其中绑定了 2 个队列。每个队列都会获得对发送到交换器的消息的引用,因此两个消费者(每个队列一个)都会获得消息的副本。
如果每个队列上有多个消费者(例如 3 个),则该队列中的消息会以循环方式分发给这些消费者。每个队列只有一个消费者收到消息。
【讨论】: