上云无忧 > 文档中心 > 腾讯云消息队列 CMQ 版 - 参数差异说明
消息队列 CMQ 版
腾讯云消息队列 CMQ 版 - 参数差异说明

文档简介:
新版 CMQ 与原 CMQ 参数差异说明: 新版 CMQ 在数据流(消息收发)SDK 的用法和语法上与原 CMQ 一致,但有些参数与特性会和原 CMQ 有一定的差异。这些差异新版 CMQ 会通过特殊设置这些参数来保证在您迁移之后不会改变原有的生产消费逻辑,但如果是新建的队列或主题则尽可能参考新 CMQ 的逻辑进行设置。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

新版 CMQ 与原 CMQ 参数差异说明

新版 CMQ 在数据流(消息收发)SDK 的用法和语法上与原 CMQ 一致,但有些参数与特性会和原 CMQ 有一定的差异。这些差异新版 CMQ 会通过特殊设置这些参数来保证在您迁移之后不会改变原有的生产消费逻辑,但如果是新建的队列或主题则尽可能参考新 CMQ 的逻辑进行设置。

消息生命周期

新版 CMQ 采用了业界通用的消息生命周期模型,即通过“最长未确认时间”(TTL, Time to Live) 来避免产生过量的堆积导致消息队列负载过高(消息堆积容量达到100%以上时会触发不可写入)。
相较于原版 CMQ,新版 CMQ 增设了消息最大未确认时间,范围30秒到12小时,如果消息在发送成功后,超过此时间消息仍然未被确认(ack),则服务端会自动确认该消息。
未确认的消息将持续保存在 MQ 中不会删除,已确认的消息受到消息可回溯时间大小和可回溯磁盘空间的作用(如果消息所在的队列没有打开消息回溯开关,则消息会在确认后直接删除)。
新版 CMQ 取消了消息生命周期的限制。默认不再支持消息长时间在队列中堆积,如有特殊需要可以开启消息回溯并设置可回溯的时间范围,只有开启了消息回溯的消息才允许在消息队列中保存超过12小时,开启后会产生一定的存储费用,具体计费请参考新版 CMQ 计费说明。
说明
从原 CMQ 迁移到新 CMQ 的队列会将消息生命周期继承到消息最大未确认时间,以确保原有业务正常,下次手动调整不得超出30秒 - 12小时范围,调整时请留意客户端相关的处理逻辑。

消息堆积上限

新版 CMQ 取消了原版 CMQ 关于消息堆积条数的限制,理论上只要存储资源满足,可以无限堆积。但实际从硬件层面出发,我们会给每个队列分配10GB的最大堆积存储资源,并支持您通过该值配置对应的云监控告警。

一般平均1KB大小的消息可以堆积大约1千万条,可以依据此进行简单换算,如发现迁移后此处可能存在堆积超过上限的风险,可以及时通过 工单 与我们联系。

消息大小

新版 CMQ 不再支持设置消息大小上限,为不影响业务从原 CMQ 迁移,新增队列统一设定为原 CMQ 的消息大小上限,即1024KB。
说明
从原 CMQ 迁移过来的队列不再支持设置消息大小,如需增加限制,请重新创建队列使用。

消息接收长轮询等待时间

参数意义完全相同,但是其作用效果在新版 CMQ 和原 CMQ 上有所不同,新版中该参数推荐设置到3s以下。
在新版 CMQ 中,如果消息接收长轮询等待时间设置的过大,由于底层需要保证“至少一次”的语义,可能导致消息投递的重复率显著增高,从而对于一些未做消息去重的下游业务系统产生较大影响。因此,如果希望减少消息重复的概率,可以尽量设置的小一些,推荐3秒,3秒以下基本不会产生重复投递。

未确认消息容量

新版 CMQ 增设了未确认消息容量的限制,这样可以保障 MQ 服务端的内存消耗得到控制从而确保稳定性。不可见消息过多一般是客户端未及时 ACK 导致的,该指标有对应的监控图表进行监控,如有明显突增,请尽快检查消费者的确认删除逻辑是否正常运行,如突发性容量不足请尽快 提交工单 申请。

消息字段差异说明

在旧版 CMQ 迁移后,消息的主要字段变化如下:
参数
类型
升级前样例
升级后样例
msgId
String
190990635761933
1EBCFC0F00446767C1FC4F9D23E5AB1C
receiptHandle
String
687663623513305190
0_1692158549574_30000_6_0_rmqbroker-gz-cmq-tencent-1_0_0
msgBody
String
i am topic message
i am topic message
enqueueTime
Long
1692155398
1692155398
nextVisibleTime
Long
1692158424
1692158424
firstDequeueTime
Long
1692158394
1692158394
dequeueCount
Int
1
1
requestId
String
69132918877847580
1107461132886449801
主要差异点:
msgId 升级前由纯数字组成,升级后变成字母加数字组成。
receiptHandle 升级前由纯数字组成,升级后变成字母数字下划线中划线组成。
相似文档
  • TDMQ CMQ 版可以使用外网域名吗? TDMQ CMQ 版可以使用外网域名,具体地址在控制台的 API请求地址获取。推荐您使用内网域名,使用外网会收取流量费用,且外网时延可能费用较高。
  • 删除消息失败时如何处理? 删除消息失败可能是因为消息句柄超时了。队列属性 visibilityTimeout 表明了消息的可见时间,如果从消费消息到删除消息超过了这个时间,那么消息句柄就会失效,从而导致无法删除消息。
  • 为使用腾讯云消息队列 CMQ 版服务(以下简称“本服务”),您应当阅读并遵守《消息队列 CMQ 版服务等级协议》(以下简称“本协议” 或“SLA”),以及《腾讯云服务协议》。本协议包含本服务的术语和定义、服务可用性/服务成功率等级指标、赔偿方案、免责条款等相关内容。请您务必审慎阅读、充分理解各条款内容,限制、免责条款或者其他涉及您重大权益的条款可能会以加粗、加下划线等形式提示您重点注意。
  • 微服务引擎(Tencent Cloud Service Engine,TSE)是一款微服务应用管理中间件,通过将微服务核心的组件(注册中心、配置中心等)进行云上服务托管,提供快速部署、租户隔离、高可用容灾、免运维、无缝迁移服务等功能优势,满足用户基于开源框架快速实现微服务架构转型需求。
  • 2024-1-31,云原生 API 网关支持链路追踪:云原生 API 网关支持对接腾讯云 APM,方便您查看网关与后端服务的调用信息与链路拓扑图,以进行分析诊断。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部