用途:帮助用 Terraform 在多平台部署 Apache Kafka,覆盖自托管、AWS MSK 与 Azure Event Hubs 三种方案,并支持平台选型与容量规划。
主要能力:提供 3 个生产就绪模块。Apache Kafka(自托管,KRaft 模式,位于 plugins/specweave-kafka/terraform/apache-kafka/,默认 AWS EC2)支持多 broker 集群、SASL_SSL 安全组、S3 备份 IAM 角色、CloudWatch 指标与告警、自动伸缩组、自定义 VPC 与子网。AWS MSK 模块位于 terraform/aws-msk/,支持 IAM 与 SASL/SCRAM 认证、预置吞吐自动伸缩、CloudWatch 监控、多可用区、传输与静态加密。Azure Event Hubs 模块位于 terraform/azure-event-hubs/,支持 Kafka 1.0+ 协议、自动扩充、Premium SKU、区域冗余、专用终结点、事件捕获到 Azure 存储。
使用方式:按需编写 main.tf 引用相应 source,配置 environment、broker_count、kafka_version、instance_type、vpc_id、subnet_ids 等变量,然后执行 terraform init、terraform plan、terraform apply,用 terraform output 获取 broker 端点或连接串。文中给出三种工作流示例与平台选择决策树,另附小/中/大环境规格建议与常见故障排查(如安全组导致 destroy 失败、MSK 创建耗时较长、Event Hubs 连接被拒)。
适用场景:需要完整控制的自托管或混合云、希望 AWS 托管的 MSK、以及 Azure 上 Kafka 兼容 API 的场景;安全实践建议启用传输加密、IAM 认证、私有子网与多可用区,复制因子 3、min.insync.replicas 2。
限制:资料未提供版本兼容边界、价格与计费信息、是否收费及具体平台支持范围之外的细节;实际可用性以所引用模块与环境为准。