多个消费者,但只有一种

时间:2015-05-21 16:14:17

标签: spring-amqp

我有服务A,B和C(可能还有更多),我可能有N A ,N B 和N C 运行每个实例。

我希望能够通知服务A,B和C(以及可能存在的所有其他服务)发生给定事件(如 fanout ),但我只想要一个每个服务的实例接收通知(如工作队列)。

可以通过Spring AMQP实现吗?

1 个答案:

答案 0 :(得分:0)

您的每个服务都必须提供绑定到该扇出交换的自己的队列。独立于实例(但不是服务),队列必须相同。因此,它看起来像同一个队列中的几个消费者,但只有其中一个消费者会收到消息。

坦率地说,你根本不需要考虑重复。只需开发应用程序就像它只是一个实例。并将其分发到群集中。只有一个消费者(每个服务)将处理您的消息。