消息消费异常时会自动进行消费重试,达到最大重试次数后还未成功,则消息会转为死信状态。云消息队列 RocketMQ 版支持将这些死信消息保存至指定Topic,方便后续进行业务恢复或回溯。本文介绍死信消息的应用场景、死信策略、使用限制、配置方法和使用建议。
应用场景
-
典型死信消息处理场景
消息重试失败后,您可以选择将死信消息存储到指定的死信Topic中,通过另外创建一个ConsumerGroup消费这些死信消息来处理异常链路或分析死信消息。
-
典型错误使用死信消息场景
处理死信消息时,如果将死信消息多层流转,转储回原Topic,会引起死信消息再次被循环重试,可能会引起雪崩效应。
死信策略
什么时候消息会转为死信状态
消息重试达到最大重试次数后还没有被成功消费,消息将不再被投递,转为死信状态。
死信消息保存规则
云消息队列 RocketMQ 版默认不保存死信消息,消息转为死信状态后将被丢弃。
您可以通过控制台开启死信消息保存功能,开启后,死信消息将被存储至指定的Topic中,该Topic被称为死信Topic。具体操作,请参见配置死信消息保存规则。