轻量消息队列(原 MNS)对某些具体指标进行了约束和规范,您在使用时注意不要超过相应的限制值,以免程序出现异常。
队列模型限制
限制项 | 限制值 | 说明 |
命名长度 | 120字符 | 超过该限制,队列创建失败。 |
队列数量 | 1000个 | 无 |
消息大小 | 64 KB | 超过该限制,消息会被丢弃。 |
批量接口 | 16条 | 无 |
长轮询 | 30秒 | 无 |
消息保存时间 | 7天 | 超过时间将自动滚动删除,建议按照需求设置。 |
主题模型限制
限制项 | 限制值 | 说明 |
命名长度 | 120字符 | 超过该限制,主题创建失败。 |
主题数量 | 1000个 | 无 |
消息大小 | 64 KB | 超过该限制,消息会被丢弃。 |
单个主题订阅数 | 100个 | 无 |
消息保存时间 | 1天 | 超过时间将自动滚动删除,建议按照需求设置。 |
消息过滤标签 | 1个 | 用于消息过滤,不超过16个字符。 |
队列订阅方式 | 队列的消息大小需大于或等于主题消息大小。 | 超过该限制,订阅将创建失败。 |
限流策略
每个主账号每个地域限流阈值默认值:20000 TPS。如果流量已超过20000 TPS,可提交工单提高默认限流阈值。
请求次数计数说明如下:
每调用API接口1次,计为1次请求。
批量发送场景TPS叠加:当使用BatchSendMessage接口请求某队列时,BatchSendMessage的TPS = BatchSendMessage每秒实际请求次数×接口中的消息条数。例如,BatchSendMessage接口1秒中实际请求次数是100,接口中包含10条消息,则占用单个队列TPS=100×10 = 1000。
批量消费场景TPS叠加:当使用BatchReceiveMessage接口请求某队列时,BatchReceiveMessage的TPS = BatchReceiveMessage每秒实际请求次数×接口中的消息条数。例如,BatchReceiveMessage接口1秒中实际请求次数是100,接口中包含10条消息,则占用单个队列TPS=100×10 = 1000。
关于限流策略的更多信息,请参见限流策略。