云消息队列 Kafka 版对某些具体指标进行了约束和规范,您在使用云消息队列 Kafka 版时注意不要超过相应的限制值,以免程序出现异常。
云消息队列 Kafka 版的限制项和限制值,请参见下表。
限制项 | 限制值 | 说明 |
---|---|---|
限制Topic总数(分区总数) | 支持 | 云消息队列 Kafka 版的存储和协调机制是以分区为粒度的,Topic总数(分区总数)太多,会导致存储碎片化,集群性能和稳定性下降。 |
Topic减少对应分区 | 不支持 | 这是Apache Kafka自身设计所限制的。 |
暴露ZooKeeper | 不支持 | 在使用设计层面,Apache Kafka自0.9.0之后已经屏蔽掉ZooKeeper,即客户端使用无需访问ZooKeeper。云消息队列 Kafka 版的ZooKeeper是部分共享的,出于安全考虑,不予暴露。您也无需感知到ZooKeeper。 |
登录部署云消息队列 Kafka 版的机器 | 不支持 | 无。 |
版本 | 支持0.10.x版本~2.2.x版本 |
|
分区数量和Topic数量的对应关系 | 1∶1 | 可使用的Topic数量与总分区数强相关。例如,您购买了分区数为50、流量规格为alikafka.hw.2xlarge、规格内赠送分区数为1000的实例,那么该实例总分区数=购买分区数+规格内赠送分区数=50+1000=1050,可用Topic数量为1050。云消息队列 Kafka 版Serverless实例不受此项限制。 |
分区数量和Group数量的对应关系 | 1∶2 | 可使用的Group数量与总分区数强相关。例如:您购买了分区数为50、流量规格为alikafka.hw.2xlarge、规格内赠送分区数为1000的实例,那么该实例总分区数=购买分区数+规格内赠送分区数=50+1000=1050,可用Group数量为2100。云消息队列 Kafka 版Serverless实例不受此项限制。 |
变更实例的地域 | 不支持 | 实例购买部署之后,其地域与物理资源紧密结合,无法变更。如需变更实例的地域,请释放实例,并重新购买。 |
变更实例网络属性 | 支持 | 网络属性可以根据需要变更。具体操作,请参见升级实例配置。 |
消息大小 | 10 MB | 消息大小不得超过10 MB,否则消息会发送失败。 |
监控报警 | 支持 | 数据延时1分钟。 |
客户端与每个Broker连接数量 | 建议不超过1000个 | 云消息队列 Kafka 版的客户端发送消息和订阅消息都需要与Broker建立Socket连接。 当客户端与每个Broker连接数量过多时,Broker会消耗大量性能来维持连接,Broker稳定性将受到严重影响, 因此建议客户端与每个Broker的连接数量不超过1000个。 |
接入点 | 购买规格 |
|
云存储单分区 | 宕机和升级时可能导致不可用 | 建议创建的分区数大于1,如果强依赖单分区,可以使用Local存储。 说明 仅专业版实例支持在创建Topic时将存储引擎类型选择为Local存储,标准版暂不支持。 |
说明 云消息队列 Kafka 版不再支持按照Topic规格购买实例,若您的已有实例是按照Topic规格购买的,那么Topic数量与分区数量的对应关系为1∶16,Group数量=Topic数量×2,专业版实例Topic数量=购买Topic数量×2。
若您购买的是云消息队列 Kafka 版Serverless实例时,除上表列出的限制外,还需注意以下限制项。
限制项 | 限制值 | 说明 |
---|---|---|
紧急联系人 | 不能为空 | 云消息队列 Kafka 版Serverless实例检测到您使用不当时需要联系紧急联系人更新业务,如果紧急联系人为空,会限制您部署业务。 |
分区 | 不超过2000个 | 无。 |
Topic | 不超过1000个 | 同一Topic需要确保业务唯一,Topic内的不同分区要保证消息量、消息平均大小等一致。 |
单分区流量只写速率 | 不超过5 MB/分区/秒 |
|
单分区流量只读速率 | 不超过10 MB/分区/秒 |
|
拆分集群 | 合理拆分 | 不同业务需要合理拆分集群。单集群写入业务流量建议控制在300~600 MB,若超过1 GB,建议拆分集群。 |
测试集群规划 | 需要测试 | 云消息队列 Kafka 版Serverless实例中集群的动态状态会受业务使用情况影响,业务上线之前需要使用测试集群检测流量峰值,测试集群要与生产集群保持等价一致。 |
使用量波动 | 使用量增加至原来的2倍的时间不小于15分钟 | 波动幅度过大会影响弹性伸缩效率。 |