2017-03-09 210 views
0

我有一个使用RabbitMQ构建的发布 - 订阅场景。有一个交换机,发布者正在发送消息,任何订阅该交换机的消费者都会在其各自的队列中接收这些消息。这是一个只有一个生产者但有多个消费者的粉丝场景。RabbitMq中每个消息使用者的单独死信队列

现在我愿意将死信队列整合到系统中,以便稍后可以处理被拒绝的消息。我的问题是

1)我应该为每个消费者配置一个单独的死信队列,还是应该有一个处理所有消费者的所有被拒绝消息?

2)如果两者都可能,哪一个更好?

3)由于涉及多方,生产者和多个消费者,谁应该处理死信。它会是生产者还是每个消费者都会以自己的方式处理自己的死信?

4)只要确认死信队列应始终配置消费者队列,而不是生产者队列或生产者交换。

回答

0

答案都将取决于您的要求。

  1. 这取决于您如何处理死信信息 - 如果您使用单个队列,您可以在x-death标题中找到原始信息。
  2. “更好”是主观的 - 它完全取决于你想要做什么。
  3. 再次,这取决于你和你的应用程序设计。
  4. > ...producer queue...生产者不知道队列 - 只有交换和(经常)路由键。所以,是的,这通常是消费者端配置。
+0

谢谢您澄清疑惑。 – Soumya

相关问题