如何创建系统,它将侦听一个兔子MQ队列,然后通过rabbit mq执行一系列任务然后回复

时间:2016-06-21 09:10:09

标签: spring-boot spring-amqp spring-rabbit

我希望设计这样一个能够监听兔子MQ #queue1

的系统
  1. 它会接收来自rabbit mq
  2. 的消息
  3. 关于请求类型的消息检查
  4. 它将创建该类型的数据包
  5. 它将在不同的rabbitmq#Queue2
  6. 上发送请求
  7. 等待回复
  8. 得到回复,根据回复,它会将请求#queue3
  9. 再次等待回复
  10. 得到回复
  11. 它会将综合回复发送到queue1上的第一个请求
  12. 我应该在这个设计中使用哪种类型的spring-amqp消息传递系统/技术?(比如Spring Remoting with AMQP或Message Replylation with A Reply Queue and correlation ID)

1 个答案:

答案 0 :(得分:0)

为什么您希望#queue1的消费者等待回复,然后将其发送到#queue2

您可以将步骤设计为

  1. 消费者将接收来自#queue1
  2. 的消息
  3. 关于请求类型的消息检查
  4. 它将创建该类型的消息
  5. 它会在不同的rabbitmq #Queue2
  6. 上发送请求
  7. #Queue2的消费者将使用该消息。根据处理结果(您将作为回复发送),它会将请求发送到#queue3
  8. #Queue3的消费者将使用该消息。使用当前结果合并先前的结果,它会将#queue4的请求与合并结果放在一起。
  9. #Queue4的消费者将使用该消息。使用当前结果合并先前的结果,它会将#queue5的请求与合并结果放在一起。
  10. 假设最终处理将在#queue5完成。使用以前的结果合并当前结果,并将其合并回复发送到#replyQueue