java spring rabbitMQ 发送到多个队列

java spring rabbitMQ send to many queues

我的程序收到一个请求,然后从中获取数据,并且根据收到的数据,应该向其他服务(外部)发送 Y 请求,然后应该从所有这些服务收集结果并决定哪个响应寄回。请告诉我,使用rabbitMQ是否有效,我的意思是spring amqp rabbit?我有固定数量的提到的外部服务 (X),我认为 s logical to have X queues in rabbit, and on every request the system will send a message to any Y queues, Y<=X, it 不需要向所有队列发送消息。所以我认为我将有一个大队列用于传入请求,X 队列用于与外部服务通信。你怎么看?如何在 spring amqp 中实现它?可能有一种方法可以更有效地做到这一点?谢谢

看起来你要找的那个模式叫做 Scatter-Gather。 它允许您向多个收件人发送消息并等待他们的相关和聚合回复。使用 RabbitMQ,您可以实现 distributionFanoutExchange 的部分,当您向它发送消息时,任何绑定的队列都会收到它。在这种情况下,您应该使用 fixed reply queue 来接收消费者的回复。

HTH