【问题标题】:How to avoid a message landing in a dead letter queue?如何避免消息落入死信队列?
【发布时间】:2017-02-23 13:28:04
【问题描述】:

如何设计应用程序,使消息尽可能避免死信队列。

根据下面的*文档是向dead letter queue 发送消息的原因

  • 发送到不存在的队列的消息。
  • 超出队列长度限制。
  • 超出消息长度限制。
  • 消息被另一个队列交换拒绝。
  • 消息达到阈值读取计数器数,因为它没有被消费。有时这称为“退出队列”。

我们将能够设计系统,避免已知原因。但是如何让系统解决未知的场景。我不是在寻找任何供应商特定的解决方案,而是一般的设计指南或建议。

【问题讨论】:

    标签: architecture message-queue dead-letter


    【解决方案1】:

    答案是“你没有”。过度设计只会给你带来麻烦。

    只需接受这样一个事实,即消息最终会失败并最终进入死/毒队列,您需要您的监控系统来收集这些消息并通知可以调查和解决的人。

    您可以在监控后端设计和实现功能,以允许您的团队检查、编辑和重播这些消息。

    【讨论】: