目录

适合生产环境的 Kafka 配置最佳实践清单,覆盖 Broker、Topic、Producer、Consumer、Zookeeper/KRaft、监控、安全、性能调优 全维度,适用于企业级物联网、AI系统、日志分析、电商大流量等场景。
一、Broker 级配置最佳实践
1.基础 Broker 配置
| 配置项 | 推荐值 | 说明 |
| num.partitions | 3 或更多 | 默认分区数量,不宜过大 |
| auto.create.topics.enable | FALSE | 禁止自动创建 Topic,避免误创建 |
| delete.topic.enable | TRUE | 支持 Topic 删除 |
2.存储与日志配置
| 配置项 | 推荐值 | 说明 |
| log.retention.hours | 168(7 天) | 根据业务需要设置保留时间 |
| log.segment.bytes | 1GB | 分段大小,太小增加文件数 |
| log.retention.bytes | -1 | 优先按时间清理,除非容量敏感 |
| log.cleanup.policy | delete | 普通日志推荐 delete |
| log.cleaner.enable | TRUE | 对 compact topic 需要开启 |
建议:
-
SSD > HDD(SSD 延迟大幅降低)
-
日志目录分散到多个磁盘(
log.dirs支持多个目录)
3.性能相关配置
| 配置项 | 推荐值 | 说明 |
| num.network.threads | 3–8 | 网络线程数 |
| num.io.threads | 8–16 | IO 线程数 |
| socket.send.buffer.bytes | 100KB–1MB | 根据带宽调整 |
| socket.receive.buffer.bytes | 100KB–1MB | 同上 |
| socket.request.max.bytes | 100MB | 控制最大请求包大小 |
生产环境: 至少 8 核 CPU + 32GB 内存 + SSD + 千兆/万兆网络
4.高可用(Replication)
| 配置项 | 推荐值 | 说明 |
| default.replication.factor | 3 | 默认副本数 |
| min.insync.replicas | 2 | 推荐 2(副本 >=3) |
| unclean.leader.election.enable | FALSE | 禁止脏选举,保证数据一致性 |
| replica.lag.time.max.ms | 30000 | 副本落后超过 30s 判定失效 |
二、Topic 级最佳实践
1.Topic 分区与副本
-
分区:根据吞吐需求 3-48
-
副本数:生产环境必须 ≥ 3
-
Key 决定分区一致性,避免热点
2.Cleanup Policy
-
日志型数据:
delete -
状态、KV 表:
compact -
混合:
compact,delete
例如:设备状态、用户会话用 compact 很合适。

最低0.47元/天 解锁文章
2518

被折叠的 条评论
为什么被折叠?



