tencent cloud

消息队列 CMQ 版

动态与公告
产品动态
公告
产品简介
产品概述
产品功能
产品优势
应用场景
使用限制
基本概念
购买指南
计费概述
购买方式
价格总览
欠费说明
退费说明
快速入门
队列模型快速入门
主题模型快速入门
操作指南
队列服务
主题订阅
访问管理 CAM
标签管理
配置告警
消息查询与轨迹
实践教程
消息去重
选择 Push 还是 Pull
案例分享
在线图片处理案例
起点文学网案例
开发指南
HTTP Endpoint 订阅
通用参考
API 文档
API 列表
CMQ API2.0 切换至 TDMQ CMQ 版 API3.0指引
SDK 文档
HTTP 数据流 SDK
HTTP 控制流 SDK
SDK 参数配置说明
常见问题
功能类
操作类
服务等级协议
联系我们
词汇表

死信队列

PDF
聚焦模式
字号
最后更新时间: 2024-01-03 10:17:36
本文为您介绍 TDMQ CMQ 版死信队列的基本概念、应用场景和使用方法。

功能介绍

死信队列(Dead-Letter-Queue,DLQ)用于处理无法被正常消费的消息。达到最大重试次数后,若消费依然失败,则表明消费者在正常情况下无法正确地消费该消息,此时 TDMQ CMQ 版不会立刻将消息丢弃,而是将其发送到该消费者对应的特殊队列中,这个特殊队列就是 DLQ。对新建的队列,或存量的队列,您都可以启用死信队列。

应用场景

定位问题:例如,某条消息被多次消费后却未被删除,一般是由于该消息未被正确消费,可能存在问题需要回溯定位。 您可以设置最大接收次数,超额后该消息会被淘汰到指定的死信队列,便于后续问题发现。
优先级队列:例如,共享单车等 O2O 客户,对访问时延、实时性要求非常高。单车开锁逻辑中,当 TDMQ CMQ 版堆积了1亿条消息时,会优先处理最新生产的部分消息,老的消息淘汰到死信队列,在消费者有能力时再处理。 老的消息(如用户扫码开车场景)在等待时已流失了用户,老的消息的价值会偏小,建议优先处理最新消息。

使用方法

TDMQ CMQ 版控制台 新建队列的时候,您可以开启死信队列功能。



死信队列名称:指定某队列为该队列的死信队列。
死信策略:触发死信消息的方式。
最大接收次数:将消息发送到死信队列前允许接收该消息的最大次数,支持设定值为1 - 1000次。
最大未消费时间:将消息发送到死信队列前达到了最大未消费时间,允许设置5分钟 - 12小时。

使用限制

一个队列只能绑定一个死信队列。
绑定的死信队列必须是同地域、同下的队列。
如果死信队列已被其他队列绑定,则不能直接删除该死信队列。
开启事务消息的队列,不能成为其他队列的死信队列。
多个队列(最多6个)可以指定同一个队列作为死信队列,但死信队列本身不能再指定其他队列作为死信队列 ,避免嵌套。
可以在源队列(客户端生产、消费的数据队列)中解绑死信队列,解绑后无其他队列绑定,可删除死信队列。
一个已存在的普通队列在 T 时刻被指定为死信队列,若在 T 时刻之前队列中还存在未被消费的消息,需要将 T 时刻之前的消息全部消费完成后才可以触发死信策略。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈