配置 Topic 分区均衡

最近更新时间:2025-08-28 17:40:12

我的收藏

操作场景

消息队列 CKafka 版支持分区动态处理功能,当实例集群出现分区倾斜的情况时,可以手动进行分区均衡,重新分配分区在节点上的分布情况。也可以选择 自动化分区均衡 ,CKafka 会根据您设定的时间自动检查 Topic 的分区分布,自动分析选择业务低峰期发起分区均衡。

约束与限制

该功能仅 CKafka 专业版实例支持。
自动化分区均衡和手动分区均衡任务不能同时运行。
分区平衡任务启动后,不能删除正在进行分区平衡的 Topic,否则会导致分区平衡任务无法结束。
分区均衡操作时可能引起流量变化及抖动,建议在业务低峰期操作。

变更影响

业务可能出现请求超时或延时增大的情况。
当 Topic 数据量较大时,由于分区平衡涉及到数据迁移,进行分区平衡会占用大量的网络和存储带宽。此时,业务可能会出现请求超时或延时增大,请您谨慎评估对业务的影响。建议您在业务低峰期进行操作。
可能对其余 Topic 造成一定流量影响。
Topic 分区平衡会占用部分网络和存储带宽,当前 Topic 进行分区平衡时,如带宽资源较为紧张,其余 Topic 的正常生产消费可能会受到一定影响,且可能导致分区平衡无法结束。如分区平衡一直无法结束,请联系客服处理。
数据量大的 Topic 进行分区平衡的时间会比较长,建议您耐心等待,并同步观测该 Topic 相关的监控数据。Topic 的数据量可以通过监控页面的 Topic 占用磁盘的消息总量查看,具体步骤请参考查看监控数据
分区平衡后 Topic 的 metadata 会改变,如果生产者不支持重试机制,可能会有少量的请求失败,导致部分消息生产失败。如出现此种情况,请重启生产端。

前提条件

对 Topic 进行分区平衡前,请先检查实例规格、Topic 占用磁盘的消息总量、当前 CPU 使用率和磁盘占用率,评估当前状态是否适合分区平衡。
Topic 占用磁盘的消息总量较大时,进行分区平衡会占用大量的网络和存储带宽。
CPU 使用率和磁盘使用量在90%以上时,不建议进行分区平衡。
以上数据可以在控制台的监控页面查看,具体步骤请参考查看监控数据

操作步骤

自动化分区均衡
手动分区均衡
1. 登录 CKafka 控制台
2. 在左侧导航栏单击实例列表,单击目标实例的 “ID/名称”,进入基本信息页。
3. 在基本信息页面选择智能运维页签后,二级页签选择弹性伸缩
4. 在弹性伸缩页面的分区动态处理模块,开启自动化分区均衡

5. 单击自动化分区均衡操作列的配置,可设置自动化分区均衡策略。

自定义时间:自定义选择发起分区均衡的时间,建议选择业务低峰期,避免对您的业务造成影响。
自动分析选择业务低峰期:CKafka 根据自动分析得出的业务低峰期选择发起分区均衡的时间。
6. 单击确定,完成配置。
7. 单击调整记录栏的查看可跳转至事件中心查看自动化分区均衡调整记录详情。
1. 登录 CKafka 控制台
2. 在左侧导航栏单击实例列表,单击目标实例的 “ID/名称”,进入基本信息页。
3. 在基本信息页面选择智能运维页签后,二级页签选择弹性伸缩
4. 在弹性伸缩页面的分区动态处理模块,单击操作栏的配置,配置手动分区均衡引流。

5. 在弹窗中选择需要进行手动分区均衡的 Topic,手动配置分区均衡策略。

6. 预览均衡效果。

7. 单击提交后发起分区均衡引流任务。

8. 单击调整记录栏的查看可跳转至事件中心查看自动化分区均衡调整记录详情。