← 中文资源

简体中文版本

管线 Schema 契约强制工作流

在生产与消费方之间强制约定的 schema 契约,避免上游变更悄悄破坏下游作业。

阅读英文原文

目标

上游结构变更不应静默破坏下游。本工作流先由生产与消费方约定必需字段、类型与兼容规则形成带版本的契约,在发布前校验生产事件符合契约,在 CI 中比较结构变更与契约的兼容性,破坏性变更须待消费方更新后才放行,并通过新版本与迁移窗口让消费方有序迁移。

步骤要点

  1. 约定并版本化字段与兼容规则。
  2. 发布前校验生产输出符合契约。
  3. CI 中比较变更与契约的兼容性。
  4. 引入新版本并提供消费方迁移窗口。
# fail CI on incompatible schema change
node check-schema-compat.mjs --old schema.json --new schema.next.json

验证

按顺序执行上述步骤后,逐项确认每个步骤的预期状态均已满足;只有全部预期状态成立,才认为本流程完成。若某一步未达到预期状态,应先按排错提示排查,不要跳过继续,以免掩盖问题。

排错提示

  • 未跟踪的结构漂移会一夜之间破坏消费方。
  • 一律拒绝增补性变更会拖慢交付。
  • 无版本化只能全有全无迁移。

适用边界

  • 需要 schema 注册表或契约文件。
  • 破坏性变更需消费方配合。