约束与限制
本章节介绍分布式消息服务Kafka版产品功能的约束和限制,您在使用Kafka实例时注意不要超过相应的约束和限制,以免程序出现异常。
如果因为您的实例配置超过相应的约束和限制而导致的任何不稳定情况,不在SLA承诺和赔偿范围内。
实例
限制项 |
约束与限制 |
---|---|
Kafka ZooKeeper |
Kafka集群依赖ZooKeeper进行管理,开放ZooKeeper可能引发误操作导致业务受损,当前仅Kafka内部使用,不对外提供服务。 |
版本 |
|
登录Kafka节点所在机器 |
不能登录。 |
存储空间 |
|
基准带宽/代理数量 |
|
代理规格 |
|
修改VPC/子网/可用区 |
实例创建后,不支持修改VPC/子网/可用区。 |
是否支持Kerberos认证 |
不支持 |
客户端单IP连接数 |
2020年7月以及之后购买的实例,Kafka实例的每个代理允许客户端单IP连接的个数默认为1000个,在此之前购买的实例,Kafka实例的每个代理允许客户端单IP连接的个数默认为200个,如果超过了,会出现连接失败问题。 |
Topic
限制项 |
约束与限制 |
---|---|
Topic总分区数 |
Topic总分区数和实例规格有关,具体请参考Kafka集群实例。 Kafka以分区为粒度管理消息,分区多导致生产、存储、消费都碎片化,影响性能稳定性。在使用过程中,当Topic的总分区数达到上限后,用户无法继续创建Topic。 |
单个Topic分区数 |
|
Topic数量 |
Topic数量和Topic总分区数、每个Topic的分区数有关,具体请参考Kafka集群实例。 |
是否支持自动创建Topic |
支持。开启自动创建Topic表示生产或消费一个未创建的Topic时,系统会自动创建此Topic,此Topic的默认参数值如下:
集群实例如果在“配置参数”中修改“log.retention.hours”(老化时间)、“default.replication.factor”(副本数)或“num.partitions”(分区数)的参数值,此后自动创建的Topic参数值为修改后的参数值。单机实例不支持修改配置参数。 例如:“num.partitions”修改为“5”,自动创建的Topic参数值如下:
|
同步复制 |
Topic副本数为1时,不能选择同步复制功能。 |
副本数 |
集群实例不建议使用单副本。实例节点出现故障的情况下,单副本Topic查询消息时可能会报“内部服务错误”,因此不建议使用单副本Topic。 |
老化时间 |
如果Topic已经设置了老化时间,此时“配置参数”中的log.retention.hours值将不对此Topic生效。仅在Topic中未设置老化时间时,“配置参数”中的log.retention.hours值才会对此Topic生效。 例如:Topic01设置的老化时间为60小时,“配置参数”中的log.retention.hours值为72小时,此时Topic01实际的老化时间为60小时。 |
批量导入/导出Topic |
支持批量导出,不支持批量导入。 |
Topic名称 |
Topic名称开头包含特殊字符,例如#号“#”,会导致监控数据无法展示。 |
是否支持延迟队列 |
不支持 |
代理故障场景 |
实例中部分代理故障时,无法创建、修改和删除Topic,只能查询Topic。 |
消费组
限制项 |
约束与限制 |
---|---|
是否需要创建消费组、消费者、生产者 |
|
重置消费进度 |
重置消费进度可能会导致重复消费。 |
消费组名称 |
消费组名称开头包含特殊字符,例如#号“#”,会导致监控数据无法展示。 |
代理故障场景 |
实例中部分代理故障时,无法创建、修改和删除消费组,以及重置消费进度,只能查询消费组。 |
消息
限制项 |
约束与限制 |
---|---|
消息大小 |
生产消息的最大长度为10MB,超过10MB会导致生产失败。 |
用户
限制项 |
约束与限制 |
---|---|
创建用户的数量 |
一个Kafka实例最多创建的用户数量在控制台存在两种限制,一种为20个,另一种为500个,具体以控制台为准。 |
代理故障场景 |
实例中部分代理故障时,无法创建、修改和删除用户,以及重置密码,只能查询用户。 |