用途:在设计与规划 Apache Kafka 集群时提供架构决策参考,涉及集群规模、分区数量、副本与高可用、保留策略、性能调优、跨数据中心方案、监控与安全。
主要能力: 架构概念:Broker、Controller(KRaft 或 ZooKeeper 选举)、Topic、Partition、Replica、ISR。KRaft 模式(Kafka 3.3+ 推荐)元数据存于 __cluster_metadata,controller quorum 为 3 或 5 节点,故障切换更快;ZooKeeper 模式在 4.0 弃用,需独立 3-5 节点 ensemble,切换较慢;ZooKeeper 到 KRaft 迁移在 3.6+ 支持。 容量规划:资料给出小、中、大集群及 Kafka Streams/EOS 集群的 Broker 数量、每 Broker 分区数、硬件与吞吐示例,属参考量级。 分区策略:以目标吞吐、消费者并行度与未来增长估算分区数,单分区写入约 10-50 MB/s;给出高吞吐与低延迟主题的示例计算。分区键应高基数、分布均匀,避免低基数字段造成热点,可用复合键。 副本与高可用:开发 RF=1,标准生产 RF=3,关键系统 RF=5;min.insync.replicas 通常为 2,且不大于 RF-1;可配置 broker.rack 实现机架感知。 保留策略:按时间或大小设置 retention.ms、retention.bytes,可组合;cleanup.policy=compact 用于保留每键最新值,适合 CDC、状态存储等。 性能优化:给出 broker、producer、consumer 的配置方向与示例值,如 num.io.threads、batch.size、linger.ms、compression.type、acks、fetch.min.bytes;EOS 需 acks=all、enable.idempotence、transactional.id、min.insync.replicas=2。 多数据中心:Active-Passive(MirrorMaker 2 异步复制、手动切换、可能丢数据)、Active-Active(双向复制、可能重复与跨 DC 顺序不保证、需防循环)、Stretch Cluster(同步复制、要求 DC 间低延迟与高带宽)。 监控与安全:列出 UnderReplicatedPartitions、OfflinePartitionsCount、ActiveControllerCount、RequestHandlerAvgIdlePercent、RecordsLagMax、LogFlushRateAndTimeMs 等指标与告警方向;安全包含 SASL/SCRAM-SHA-512、ACL(如 bin/kafka-acls.sh --add --allow-principal User:alice --operation READ --topic orders)与 mTLS。
使用方式:资料包含 SpecWeave 集成示例,如使用 ClusterSizingCalculator 计算集群规模,以及命令 /sw-kafka:deploy 校验集群规模、/sw-kafka:monitor-setup 配置指标。
限制:内容为架构与配置指导,非可直接运行的产品;具体数值为资料中的建议或示例,实际需按环境验证;未提供收费、价格、平台支持范围与效果保证等信息。