云消息队列 Kafka 版对某些具体指标进行了约束和规范,您在使用云消息队列 Kafka 版时注意不要超过相应的限制值,以免程序出现异常。
若由于您的实例配置超出下列限制导致的任何不稳定情况,不在SLA承诺和赔偿范围内。
使用限制
云消息队列 Kafka 版的限制项和限制值,请参见下表。
限制项 | 限制值 | 说明 |
限制Topic总数(分区总数) | 支持 | 云消息队列 Kafka 版的存储和协调机制是以分区为粒度的,Topic总数(分区总数)太多,会导致存储碎片化,集群性能和稳定性下降。 |
Topic减少对应分区 | 不支持 | 这是Apache Kafka自身设计所限制的。 |
暴露ZooKeeper | 不支持 | 在使用设计层面,Apache Kafka自0.9.0之后已经屏蔽掉ZooKeeper,即客户端使用无需访问ZooKeeper。云消息队列 Kafka 版的ZooKeeper是部分共享的,出于安全考虑,不予暴露。您也无需感知到ZooKeeper。 |
登录部署云消息队列 Kafka 版的机器 | 不支持 | 无。 |
版本 | 支持2.2.x版本~3.3.x版本 |
如需升级版本,请参见升级实例版本。 |
分区数量和Topic数量的对应关系 | 1∶1 | 可使用的Topic数量与总分区数强相关。例如,您购买了分区数为50、流量规格为alikafka.hw.2xlarge、规格内赠送分区数为1000的实例,那么该实例总分区数=购买分区数+规格内赠送分区数=50+1000=1050,可用Topic数量为1050。 说明 仅非Serverless实例适用。 |
变更实例的地域 | 不支持 | 实例购买部署之后,其地域与物理资源紧密结合,无法变更。如需变更实例的地域,请释放实例,并重新购买。 |
变更实例网络属性 | 支持 | 网络属性可以根据需要变更。具体操作,请参见升级实例配置。 |
消息大小 | 10 MB | 消息大小不得超过10 MB,否则消息会发送失败。 |
监控报警 | 支持 | 数据延时1分钟。 |
接入点 | 购买规格 |
|
云存储单分区 | 宕机和升级时可能导致不可用 | 建议创建的分区数大于1,如果强依赖单分区,可以使用Local存储。 说明
|
云消息队列 Kafka 版非Serverless实例不再支持按照Topic规格购买实例,若您的已有实例是按照Topic规格购买的,那么Topic数量与分区数量的对应关系为1∶16,专业版实例Topic数量=购买Topic数量×2。
配额限制
下表列举了云消息队列 Kafka 版使用限制项,超出下列使用限制可能会产生稳定性问题。其他限制中列举了部分可能对服务端造成不良影响的使用场景,需要谨慎使用避免造成服务端过载引发稳定性问题。
除非另有说明,限制都是针对每个集群的。如需更大的配额,请提交工单咨询。
限制项 | 限制条件 | 说明 |
连接数(单节点) |
计算公式: F是流量(以MB/s为单位),C是所需的连接数量。//表示整数除法,即向下取整。 | 单台Broker的TCP连接数。 如需更大连接数,请提交工单申请。 Serverless实例预留发送规格 =业务实际发送流量规格*3 |
公网(SSL)连接数(单节点) |
计算公式: F是流量(以MB/s为单位),C是所需的连接数量。//表示整数除法,即向下取整。 | 单台Broker的公网(SSL)TCP连接数。 如需更大连接数上限,请提交工单申请。 |
建立连接频率(单节点) |
| 每秒客户端与服务端尝试建立连接次数(包含因鉴权失败等原因导致的失败连接)。 |
公网(SSL)建立连接频率(单节点) | 10次/秒 | 每秒客户端与服务端尝试建立公网(SSL)连接次数(包含因鉴权失败等原因导致的失败连接)。 |
batch size | batch size TP50=4 KB以下定义为碎片化发送 | 发送客户端攒批后PRODUCE请求中携带的消息batch大小。推荐使用2.4以上的客户端版本,提升batch攒批能力,请参见提升发送性能(减少碎片化发送请求)。 |
发送request频率(集群) |
计算公式: F是实际流量(以MB/s为单位),R是所需的发送request频率。//表示整数除法,即向下取整。 | 客户端发送PRODUCE的请求数量。 如需更大请求数上限,请提交工单申请。 |
消费request频率(集群) |
计算公式: F是实际流量(以MB/s为单位),R是所需的消费request频率。//表示整数除法,即向下取整。 | 客户端消费FETCH的请求数量。 如需更大请求数上限,请提交工单申请。 |
提交消费位点频率(单节点) |
计算公式: F是实际流量(MB/s),R是请求(requests/s),//表示整数除法。 | 客户端发送 OFFSET_COMMIT 的请求数量。 如需更大请求数,请提交工单申请。 |
元数据request频率(集群) |
计算公式: F是实际流量(以MB/s为单位),R是请求速率(requests/s),//表示整数除法。 | 服务端收到的客户端元数据request,例如 警告 如果请求过于频繁,会影响集群稳定性。 |
最大分区数(集群) | Serverless实例:
按小时后付费和包年包月实例分区数计算方式相同。具体详情,请参见计费项目。 | 分区数包括用户建立的不同类型Topic的分区。 如需更大分区上限数,请提交工单申请。 |
创建/删除分区频率(集群) | 900分区(每10秒) | 包含控制台,OpenAPI、Kafka Admin等所有分区操作。 |
consumer group数量(集群) | 2000/集群 Topic和Group的订阅比建议 1:1,不超过 3:1。 | 用户使用的Group数量。 如需更大Group上限数,请提交工单申请。 警告 过多的消费者组可能导致服务端协调负载增加、元数据管理复杂性提高,从而影响性能和故障恢复时间。 |
消息格式版本 | 消息格式版本需大于V1 | 推荐使用2.4以上的客户端版本。 警告 使用较低版本的Kafka消息格式可能导致服务端CPU上升、吞吐性能下降及兼容性和安全性等问题。 |
其他限制 |
| 无 |