Kafka 消息队列设计助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3651d062/kafka-design。
技能介绍
解决的问题
Kafka 设计常卡在几个实际坑:Topic 命名不一致、分区数拍脑袋、消息语义混用、消费者组不稳定、顺序与吞吐互相打架,以及 3.x/4.x 版本特性影响架构。本技能面向工程师,把 Kafka 主题、分区、Key、可靠性、事务和版本差异整理成可执行的设计约束,而不是泛泛的最佳实践。
如何工作
触发后按设计流程给出方案:先确认版本与目标语义,再围绕 Topic 命名、分区策略、生产者/消费者参数做取舍。重点包括:
- 命名与结构:用
order.checkout.completed这类小写点号、动词过去式命名,避免版本号和日期。 - 分区与 Key:按实体 ID、租户 ID、聚合根 ID 或 salt 设计,兼顾顺序、并行和热点。
- 消息语义:明确
At-Most-Once、At-Least-Once、Exactly-Once,并映射acks、手动提交、isolation.level=read_committed等配置。 - 版本边界:结合 KRaft、Kafka 4.x Share Groups 等特性提示废弃项和重大变更。
适用边界
适合新集群设计、迁移改造和消费模型评审;不适合替代容量压测、监控告警或具体业务代码。输出会强调硬规则,例如分区只能增加不能减少、顺序消息必须同 Key 路由、ZooKeeper 依赖应避免,因此结论可能偏保守,需要结合真实流量和业务语义再定稿。
使用场景
- 为新支付订单域设计 Kafka Topic、分区数、Key 和消息语义,并给出生产者消费者配置建议。
- 评审消费者组是否满足订单顺序、幂等与 Exactly-Once,并检查 acks 和手动提交配置。
- 在从 Kafka 3.x 升级到 4.x 前,检查 Share Groups、KRaft 和事务特性对现有消费方案的影响。
- 为 CDC 事件流设计 Topic、分区 Key、保留策略、Schema 变更和消费端幂等处理。
适合人员
- 负责订单或支付链路、需要把可靠送达和顺序消费设计清楚的后端工程师
- 在做业务表变更 CDC 管道、需要把下游消费稳定落地的数据架构师
- 准备升级 Kafka 或迁移集群、需要评估 KRaft 与 4.x 特性影响的平台工程师
- 评审新系统事件模型、需要确定 Topic、Key、语义和保留策略的技术负责人