标准答案

  1. 接口演进优先新增可选字段和新能力,避免直接改变旧字段语义或删除仍被消费的字段。
  2. 每个调用要有明确的超时、截止时间、重试条件和熔断边界,调用链不能无限等待或无限重试。
  3. 发布前用契约测试、兼容性检查和小流量灰度验证生产者与消费者能否共存。
  4. 对关键依赖维护版本、所有者、容量和降级策略清单,升级时能知道影响面和回滚路径。

题目解析

级联故障常由一个慢下游开始:上游请求堆积、线程池耗尽、重试增加流量,最后健康服务也被拖垮。版本治理和超时治理必须一起做。

兼容发布的本质是让新旧实例在一段时间内同时工作。数据结构、枚举、错误码和默认值都要在这个窗口内保持可理解。

常见误区

  • 把网络超时设得很长,认为这样能提高成功率。
  • 对所有失败都立即重试,放大已经过载的下游。
  • 删除字段前只检查当前服务代码,没有检查外部消费者和异步任务。

作者信息