我只有一个制作人来发布某种事件。然后我有两个不同的服务,都应该使用该事件并以某种方式处理它。这两个服务都具有多个实例,因此我想这样做,因此每个服务只有一个实例会消耗该事件(为清楚起见,请参见图片)。
唯一的方法是通过Masstransit配置或手动配置RabbitMQ队列来实现吗?
答案 0 :(得分:1)
您需要为每个服务使用不同的终结点名称(队列)。每个队列将获得对类型化消息交换的绑定,并获得其副本。
服务实例将使用与所有其他实例相同的队列名称,因此只有一个实例将收到一条消息。
这是基本的发布订阅,在documentation中有详细说明。