Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture 如何避免邮件进入死信队列?_Architecture_Message Queue_Dead Letter - Fatal编程技术网

Architecture 如何避免邮件进入死信队列?

Architecture 如何避免邮件进入死信队列?,architecture,message-queue,dead-letter,Architecture,Message Queue,Dead Letter,如何设计应用程序,使消息尽可能避免死信队列 根据wikipedia文档,以下是向用户发送消息的原因 发送到不存在队列的消息 超过队列长度限制 超出了消息长度限制 消息被另一个队列交换拒绝 消息达到阈值读取计数器编号,因为它未被使用。有时这被称为“退出队列” 我们将能够设计系统,避免已知的原因。但是如何使系统解决未知场景。我不是在寻找任何特定于供应商的解决方案,而是一个通用的设计指南或建议。答案是“您不需要”。过度工程只会给你带来麻烦 只需接受这样一个事实,即消息最终将失败并最终进入死亡/中毒

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

根据wikipedia文档,以下是向用户发送消息的原因

  • 发送到不存在队列的消息
  • 超过队列长度限制
  • 超出了消息长度限制
  • 消息被另一个队列交换拒绝
  • 消息达到阈值读取计数器编号,因为它未被使用。有时这被称为“退出队列”
我们将能够设计系统,避免已知的原因。但是如何使系统解决未知场景。我不是在寻找任何特定于供应商的解决方案,而是一个通用的设计指南或建议。

答案是“您不需要”。过度工程只会给你带来麻烦

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

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