使用限制

最近更新时间:2025-09-19 11:24:22

我的收藏
本文列举了消息队列 CKafka 版中对一些指标和性能的限制,请您在使用中注意不要超出对应的限制值,避免出现异常。

实例

分类
限制项
说明
版本
CKafka 服务端大版本
服务端版本为2.4、2.8、3.2。暂不支持通过控制台进行大版本升级。
安全管控
暴露 ZooKeeper
不支持。
暴露底层资源
不支持,避免用户自行操作所带来的风险。
客户端使用
建议使用 CKafka 管控台或者云 API 进行集群、Topic 等元数据管理。
不建议使用通过 AdminClient 直接操作创建 Topic 、修改分区等元数据,避免引起控制台数据不一致的情况,后续计划封禁。
性能与可靠性
实例最大连接数
实例最大连接数量为50000,实例连接超过该最大值会导致客户端无法创建新的连接,如果评估该最大值在实际业务中不合理可以 联系我们 申请变更。
消息大小
不超过 12MB,若超过 12MB 消息会发送失败。
Partition 吞吐
在 ack = 1的情况下,受 CKafka 的分区架构、业务数据大小、请求频率等因素的影响,CKafka 单分区的吞吐在30MB/s - 60MB/s之间
在 ack = -1(强一致)的情况下,受 CKafka 的分区架构、业务数据大小、请求频率等因素的影响,为了保证请求的耗时的稳定,建议 CKafka 单分区的吞吐在10MB/s - 20MB/s之间
在使用到幂等或者事务的场景下,CKafka 服务端的负荷会进一步提升,对单分区的最大吞吐也会产生一定影响,如果业务关注延时情况,建议您选择不同的集群规格进行压测。
控制台并发操作限制
由于某些管控操作会涉及实例元数据信息的操作与修改,当并发很高时可能会出现一致性问题,影响底层分发,所以会对某些接口操作加锁来限制请求并发度。 为了提高操作的稳定性与成功率,目前只允许对单个实例进行至多 20 次/秒 并发请求(包含 SDK 直接调用云 API 的方式)。
数据可靠性
由于 CKafka 自身的副本同步和 ACK 机制,会有一些极端情况出现数据丢失。例如副本数为 2 、 ack = 1,当分区发生 leader 切换时,而此时副本并未同步完成,这就会导致数据丢失的情况发生。如果您的业务无法容忍数据丢失,请务必参见 CKafka 数据可靠性说明 进行客户端配置。
耗时
CKafka 是大流量、高吞吐的消息队列,无法保证每条请求的耗时都是低延时。建议超时时间设置如下:
生产端当 ack = 1 的时候,超时时间默认设置为 30s。
生产端在 ack = -1 的时候,超时时间默认设置为 60s。
消费端的超时时间设置为 60s。
网络连接
多路由
单个实例只能创建1条公网路由,最多创建5条路由(不包括创建实例时创建的实例主路由)。
VPC 路由
CKafka 将为创建实例时选择的 VPC 网络创建一条主路由,不支持删除主路由。
公网带宽
默认提供 3Mbps 免费公网带宽,专业版实例可以额外升配公网带宽。
实例管理
实例地域属性
实例创建后,不支持变更。
标签
每个云资源允许的最大标签数量为50。
说明:
受 CKafka 的分区架构、业务数据大小、请求频率、物理层稳定性等因素的影响,CKafka 无法保证每条请求的耗时都是低延时。
我们会尽量保证如下两种情况:
单实例月度生产耗时达标率,和该实例的 SLA 保持一致。
单实例月度消费耗时达标率,和该实例的 SLA 保持一致。
比例计算公式如下:
月度生产耗时达标率 = (该月所有每分钟生产 P999 耗时未超过 30s 的分钟数 / 月度服务总分钟数)× 100%。
月度消费耗时达标率 = (该月所有每分钟消费 P999 耗时未超过 60s 的分钟数 / 月度服务总分钟数)× 100%。

Topic

限制项
说明
Topic 数量/总分区数
当实例下所有 Topic(包含手动和自动创建的 Topic)的总分区数(含副本分区数)达到 Partition 数量上限后,将无法继续创建 Topic,您可以通过扩容 Partition 上限来增加 Topic 额度。
单个 Topic 分区数
单 Topic 分区数不含副本,出于稳定性考虑,建议单个 Topic 的分区数设置为200以内。
副本数
高级版/专业版实例支持配置 1~3 副本。为了保障数据可靠性,生产环境不建议使用单副本。默认创建的 Topic 是2副本,如果业务需要更高的可用性,可以配置为3副本。

Consumer group

限制项
说明
Consumer group 数量
标准版实例级别 Consumer group 数量建议不超过50个。
高级版和专业版实例级别 Consumer group 数量建议不超过500个,支持 联系我们 申请升级。
消费组名称
支持字母、数字、下划线、“-”、“.”,消费组名称包含特殊字符可能导致监控无法正常展示。