tencent cloud

消息队列 CMQ 版

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

SDK 参数配置说明

PDF
聚焦模式
字号
最后更新时间: 2024-01-03 10:20:36
消息队列 CMQ 版(TDMQ CMQ 版)是一种分布式消息队列服务,它能够提供可靠的,基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)中的信息传递,存储在可靠有效的 TDMQ CMQ 版队列中,防止消息丢失。TDMQ CMQ 版支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。
TDMQ CMQ 版提供了四种 SDK,本文以 Python 为例进行说明。

Python SDK 简介

为了方便使用,TDMQ CMQ 版将用户操作、队列操作、主题操作等抽象成了几个类:
Account:封装账户 SecretId、SecretKey,用户可以创建删除队列、主题及订阅,并查看这些对象。
queue:收发消息,查看设置队列属性。
topic:发布消息,查看设置主题属性,查看订阅者。
cmq_client:可以设置一些客户端的与服务器端连接属性,如设置是否写日志、连接超时时间、是否长连接等。
注意:
所有的类均为非线程安全的,如果需要多线程使用,最好每个线程实例化自己的对象。

队列模型

这里的队列与数据结构中定义的 Queue 有一定区别。数据结构中的队列严格按照 FIFO 操作,这里的分布式队列不会有严格的 FIFO(后续会推出专属的 FIFO 产品)。这里的队列相当于一个高性能、高容量、高可靠的容器,可以生产消息投递进去,也可以把消息取出来消费。队列在初始化的时候有自己的属性设置。属性以及含义如下:
属性
描述
maxMsgHeapNum
最大堆积消息数。队列中可以存储的消息条数,该属性表示了队列的存储和堆积能力。
pollingWaitSeconds
消息接收长轮询等待时间。取值范围0 - 30秒,该时间设置表示的是消费消息时默认等待接收消息的时间。
例如设置为10,那么在消费消息时,如果没有消息, 默认会等待10s返回;如果有消息则会立即返回。
也可以在接收消息的时候设置自定义的等待时间,不使用队列的属性值。
visibilityTimeout
消息可见性超时。
消息被消费者获取到,会有一个不可见时间,即在这个时间之内别的消费者无法获取这条消息。取值范围1 - 43200秒(即12小时内),默认值为30。
maxMsgSize
消息最大长度。取值范围1024 - 1048576Byte(即1K - 1024K),默认值为65536。
msgRetentionSeconds
消息生命周期,即消息在队列中的保存时间,取值范围60 - 1296000秒(1min - 15天),默认值为345600(4天)。
createTime
队列的创建时间。返回 Unix 时间戳,精确到秒。
lastModifyTime
最后一次修改队列属性的时间。返回 Unix 时间戳,精确到秒。
activeMsgNum
在队列中处于 Active 状态(不处于被消费状态)的消息总数,为近似值。
inactiveMsgNum
在队列中处于 Inactive 状态(正处于被消费状态)的消息总数,为近似值。
rewindSeconds
回溯队列的消息回溯时间最大值,取值范围0 - 43200秒,0表示不开启消息回溯。
rewindmsgNum
已调用 DelMsg 接口删除但还在回溯保留时间内的消息数量。
minMsgTime
消息最小未消费时间,单位为秒。
delayMsgNum
延时消息数量。

主题模型

主题模型类似设计模式中的发布订阅模式,Topic 相当于发布消息的单位,Topic 下面的订阅者相当于观察者模式。Topic 会把发布的消息主动推送给订阅者:
属性
描述
msgCount
当前该主题中堆积的消息数目(消息堆积数)。
maxMsgSize
消息最大长度。取值范围1024 - 1048576Byte(即1 - 1024KB),默认值为65536。
msgRetentionSeconds
消息在主题中最长存活时间,从发送到该主题开始经过此参数指定的时间后,不论消息是否被成功推送给用户都将被删除,该参数单位为秒。固定为一天(86400秒),该属性不能修改。
createTime
主题的创建时间。返回 Unix 时间戳,精确到秒。
lastModifyTime
最后一次修改主题属性的时间。返回 Unix 时间戳,精确到秒。
filterType
描述用户创建订阅时选择的过滤策略:
filterType = 1 表示用户使用 filterTag 标签过滤。
filterType = 2 表示用户使用 bindingKey 过滤。


帮助和支持

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

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

文档反馈