生产环境中如何修改已有微服务 API 而不影响依赖方?请给出两种策略。
How do you change an existing microservice API in production without breaking consumers? Provide two strategies.
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: versioning, backward-compatibility
参考答案摘要
答案 API 版本化:同时保留 v1/v2,让依赖方按自己的节奏迁移;缺点是多版本维护成本高。 同服务内新增 endpoint:保持单一版本,但提供新接口;当所有依赖方迁移后再删除旧接口。 无论哪种方式,都需要兼容性测试(CDC)、灰度发布与可回滚策略。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。