首页 新闻 会员 周边

死信队列来龙去脉

0
[已关闭问题] 关闭于 2026-02-25 17:34

Dead Letter Office”(死信局)

早期很多信件是收件人付费的。如果收件人拒付或拒收,而信上又没有寄件人地址,邮局就彻底懵了:既收不到钱,也不知道该退给谁。这些“无主信件”越积越多,政府不得不专门成立一个部门来处理它们,这就是“死信局”的由来

消息中间件(如 RabbitMQ, Kafka)的设计灵感很大程度上借鉴了邮政系统:
  • 消息 (Message) = 信件
  • 队列 (Queue) = 邮箱/分拣中心
  • 消费者 (Consumer) = 邮递员/收件人
  • 死信队列 (DLQ) = 死信局

所以,当一条消息因为“地址错误(路由键不对)”、“拒收(消费者Nack  negative ack(确认收到消息acknowledgment)未确认,未应答)”或“过期(TTL)”而无法被正常处理时,它就成了计算机世界的“死信”,被送往“死信队列”。

  • 快递界的“问题件仓库”
    快递员(消费者)送不到货(消息),不能随便扔路边,也不能一直占着三轮车(阻塞队列)。于是把货拉回网点的“问题件区”(死信队列),等客服(运维/开发)来处理:是改地址重送?还是退给商家?
  • 医院的“隔离病房”
    正常病人(正常消息)在普通病房治疗。突然来了个传染病或疑难杂症(异常消息),为了防止传染给其他人(阻塞正常业务),先关进隔离病房(死信队列)。医生(开发者)可以慢慢研究病因,治好了再放出来,治不好就记录病历(日志分析)。
*Tesla*的主页 *Tesla* | 小虾三级 | 园豆:1516
提问于:2026-02-25 16:09
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册