修改 Topic 配置

最近更新时间:2025-08-06 10:54:22

我的收藏
Topic 创建完成后,您可根据业务需求修改 Topic 配置,例如调整分区数、消息保留策略等关键参数,以优化消息吞吐性能、提升数据可靠性。

约束与限制

Topic 创建完成后不支持修改 Topic 名称。

操作步骤

1. 登录 CKafka 控制台
2. 在左侧导航栏单击实例列表,单击目标实例的“ID/名称”,进入实例详情页。
3. 在实例详情页,单击 Topic 列表页签,在 Topic 列表页面,单击操作栏的编辑
4. 在弹窗中修改 Topic 配置信息。
参数
说明
备注
填写 Topic 说明信息,不超过64个字符。
分区数
一个物理上分区的概念,一个 Topic 可以包含一个或者多个 partition,CKafka 以 partition 作为分配单位。部署架构默认至少3节点,分区数起步建议为3,数据分布更均衡。分区数配置参考文档 参数配置说明
标签
标签用于从不同维度对资源分类管理,关于标签的详细介绍请参见 标签管理
retention.ms
Topic 维度的消息保留时间,默认为3天,范围1分钟到90天。超出设置的保留时长后,消息将被删除以保留足够的磁盘空间。
5. (可选)单击展开高级配置,设置如下参数:
参数名
说明
消息时间戳类型
定义消息中的时间戳类型:
CreateTime:生产者创建这条消息的时间,由于客户端的时间可能和服务器时间存在偏差,需要检查写入的时间是否是正确的时间。
LogAppendTime:服务端 Broker 接收到消息的时间。
预设 ACL 策略
开启后可以在下拉框中勾选提前设置好的 ACL 策略,详细介绍请参考 配置 ACL 策略
cleanup.policy
Topic 日志的清理策略:
delete:日志按保存时间删除,根据配置的消息保留时间保存消息,在磁盘容量不足时会自动清理旧数据以保证服务可用性,适合普通消息队列场景。
compact:日志按 Key 压缩,确保相同 Key 的消息只保留最新的 Value。适用于系统宕机后恢复状态,系统重启后重新加载缓存等场景。例如使用 Kafka Connect 或 Confluent Schema Registry时,需要使用 Kafka Compact Topic 存储系统状态信息或配置信息。
delete.compact:组合策略,先压缩 key 保留最新值,再删除过期数据。适用于混合型数据如社交消息流。
min.insync.replicas
指定生产者发送消息时必须成功写入的最少同步副本(ISR)数量。范围在1到 Topic 最大副本数之间。值越高,数据安全性越强(容忍更多节点故障),但会降低可用性(当 ISR 不足时服务不可写)。
当 producer 设置 request.required.acks 为1时,min.insync.replicas 指定为 replicas 的最小数目。
unclean.leader.election.enable
是否允许从非同步副本(Out-of-Sync Replicas, OSR)中选举新的Leader。
true(默认):允许从 OSR 选举 Leader,优先保证可用性
false:仅允许从同步副本(ISR)中选举 Leader,优先保证数据一致性
segment.ms
Segment 分片滚动的时长,范围1 到90 天,最小单位为 ms。
retention.bytes
分区维度的消息保留大小,范围1 到1024 GB。
分区数 * retention.bytes = 当前 Topic 的消息保留大小,对于一个 Topic,如果同时设置了消息保留时间和消息保留大小,实际保留消息时会以先达到的阈值为准。
max.message.bytes
单条消息最大允许大小,范围1 KB到12 MB。客户端发送数据时,会将发往同一个分区的数据聚合起来,统一发送,服务端会比较每一批次的消息大小。
6. 单击提交,完成修改。