目标
上游结构变更不应静默破坏下游。本工作流先由生产与消费方约定必需字段、类型与兼容规则形成带版本的契约,在发布前校验生产事件符合契约,在 CI 中比较结构变更与契约的兼容性,破坏性变更须待消费方更新后才放行,并通过新版本与迁移窗口让消费方有序迁移。
步骤要点
- 约定并版本化字段与兼容规则。
- 发布前校验生产输出符合契约。
- CI 中比较变更与契约的兼容性。
- 引入新版本并提供消费方迁移窗口。
# fail CI on incompatible schema change
node check-schema-compat.mjs --old schema.json --new schema.next.json
验证
按顺序执行上述步骤后,逐项确认每个步骤的预期状态均已满足;只有全部预期状态成立,才认为本流程完成。若某一步未达到预期状态,应先按排错提示排查,不要跳过继续,以免掩盖问题。
排错提示
- 未跟踪的结构漂移会一夜之间破坏消费方。
- 一律拒绝增补性变更会拖慢交付。
- 无版本化只能全有全无迁移。
适用边界
- 需要 schema 注册表或契约文件。
- 破坏性变更需消费方配合。