java spring rabbitMQ发送到多个队列

java spring rabbitMQ发送到多个队列,spring,rabbitmq,spring-amqp,Spring,Rabbitmq,Spring Amqp,我的程序接收到一个请求,然后从中获取数据,并根据接收到的数据向其他服务(外部)发送Y请求,然后从所有这些服务收集结果,并决定返回哪个响应。请告诉我,使用rabbitMQ有效吗,我是说spring amqp rabbit?我有一个固定数量的提到的外部服务(X),我认为在rabbit中有X个队列是合乎逻辑的,在每个请求中,系统都会向任何Y个队列发送消息,Y看起来就像您所寻找的模式被称为。 它允许您向多个收件人发送消息,并等待他们的相关和聚合回复。使用RabbitMQ,您可以实现分发部分使用,只需向其

我的程序接收到一个请求,然后从中获取数据,并根据接收到的数据向其他服务(外部)发送Y请求,然后从所有这些服务收集结果,并决定返回哪个响应。请告诉我,使用rabbitMQ有效吗,我是说spring amqp rabbit?我有一个固定数量的提到的外部服务(X),我认为在rabbit中有X个队列是合乎逻辑的,在每个请求中,系统都会向任何Y个队列发送消息,Y看起来就像您所寻找的模式被称为。 它允许您向多个收件人发送消息,并等待他们的相关和聚合回复。使用RabbitMQ,您可以实现
分发
部分使用,只需向其发送消息,任何绑定队列都将接收消息。在这种情况下,您应该使用
固定回复队列
,以接收消费者的回复


HTH

谢谢,但排队的数量可能会有所不同。对于request1,我需要5个队列,对于request2,可能需要两个或一个队列。请告诉我,为什么使用固定回复队列来接收回复?为什么不直接使用BaseOutputWrapper o=getRabbitService().sendAndCollect(w);就在那里?它将在单独的线程中,所以我认为它不会降低性能。正如你所希望的。我的想法是将责任转移到RabbitMQ及其FanoutExchange。fixed
replyQueue
允许您从这些服务中收集结果,并仅在单个位置执行一些所需的逻辑。这就是为什么我称之为“分散-聚集”。