用途
该技能覆盖流式处理的数据平台侧:事件骨干、CDC、有状态处理、Schema 治理,以及向湖仓、数仓、搜索或服务系统的实时投递。它用于在规划事件骨干、CDC 管道、Schema 治理或实时投递时提供决策框架与默认工作流。
主要能力
- 在 Kafka、Redpanda、Pulsar、Kinesis 或托管 Kafka 服务之间做选型。
- 设计主题策略、分区、保留、重放与顺序保证。
- 使用 Debezium、Flink CDC 或托管数据库流式工具构建或修复 CDC 管道。
- 在 Flink、Kafka Streams、Spark Structured Streaming 或更轻量的转换路径之间做选择。
- 定义 Schema Registry、兼容性、契约与墓碑(tombstone)处理规则。
- 将流投递到 Iceberg、Hudi、Delta、ClickHouse、数仓、缓存或搜索系统。
- 审查流式 SLO、延迟、检查点、重处理与运维故障模式。
- 规划 Kafka broker 升级、ZooKeeper 到 KRaft 迁移、消费者协议(KIP-848)或共享组(KIP-932)采用,以及客户端生产者默认值。
使用方式
默认工作流(除非用户覆盖):
- 先依据 references/platform-selection.md 选择骨干。
- 在讨论处理器之前,先定义主题、键、保留、重放与 Schema 策略,使用 assets/topic-contract-template.md。
- 依据 references/stream-processing-patterns.md 选择处理模型:直通、富化、聚合、连接、去重或 CDC 规范化。
- 依据 references/cdc-and-schema-governance.md 与 assets/cdc-rollout-checklist.md 锁定 CDC 与 Schema 治理规则。
- 定义投递与接收端行为:upsert、删除、迟到数据、水位线与重处理边界。
- 依据 references/operations-and-slos.md 添加 SLO、延迟监控、检查点与保存点策略以及事故演练。
- 当用户询问“最佳”平台时,使用 assets/streaming-platform-scorecard.md 显式评分权衡。
默认基线:
- 骨干:除非明确的管理服务或多租户需求指向别处,否则使用 Kafka 兼容事件日志。
- 流处理:有状态事件时间管道用 Flink;更轻量的应用内处理用 Kafka Streams。
- CDC:优先基于日志的 CDC;除非约束所迫,避免基于触发器的 CDC。
- 契约:共享或长期存在的主题使用注册表支持的 Schema。
- 重处理:在启动前规划重放;不要把回填当作例外。
- 接收端:显式设计接收端幂等性;“精确一次”声明若缺少接收端行为说明是不完整的。
适用场景
- 新平台选型或平台迁移。
- 有状态处理、连接、窗口或低延迟转换。
- Debezium、快照、墓碑、契约、注册表策略。
- 生产加固与事故预防。
- 新主题或共享事件契约。
- 数据库到流的启动或 CDC 迁移。
- 决策评审与建议备忘录。
限制
- 湖仓存储格式、目录或分层架构应使用 data-lake-platform。
- OLTP Schema 调优或事务查询优化应使用 data-sql-optimization。
- 事件驱动应用架构、CQRS 或领域事件设计应使用 software-architecture-design。
- BI 仪表盘自动化与 Metabase API 应使用 data-metabase。
- 产品埋点与归因策略应使用 marketing-product-analytics。
- 版本敏感事实(发布线、特性状态、补丁回归)变化快,在命名版本或宣称特性 GA 前必须查阅官方发布说明。
- 托管 Kafka 兼容服务的所有权与产品线可能因收购而变化,推荐前需核对供应商当前文档与支持条款。
- 资料中未提供具体价格、收费或效果数据,需按实际工作负载定价。
关键原则
- 顺序是有作用域的,不是全局的:只在平台真正能保证的地方承诺顺序,通常按分区和键。
- Schema 是契约:共享主题需要受治理的演进规则、负责人、兼容性模式与弃用窗口。
- 重放是一等操作:保留、压缩、检查点与接收端幂等性决定重放是否安全。
- “精确一次”是端到端的,不是复选框:必须说明去重或事务保证结束的确切边界。
- CDC 需要删除与快照策略:启动前决定快照、Schema 变更、墓碑与源故障转移的行为。