标准答案

  1. 发布开关用于逐步开放已部署功能,目标范围可以按用户、租户、地域、版本或流量比例定义。
  2. 实验开关需要记录分组规则、指标和结束条件,避免样本污染和长期随机行为。
  3. 紧急开关必须能快速关闭高风险路径,并保证默认状态、安全权限和审计记录明确。
  4. 开关应有生命周期:创建时写明负责人和过期时间,稳定后合并代码路径并删除废弃配置。

题目解析

开关的价值是降低发布风险,不是让系统长期维持无数分叉。过期的 Flag 会让测试矩阵爆炸,开发者也很难知道线上到底走哪条逻辑。

灰度规则本身也属于业务决策,必须保证同一个用户或订单在关键流程中稳定命中同一策略,避免状态前后不一致。

常见误区

  • 把 Flag 当作权限系统或配置中心的替代品。
  • 没有默认值和回滚策略,配置读取失败时行为不可预测。
  • 上线后不清理,导致旧路径和实验代码永久存在。

作者信息