首页/开发/CI/CD 与发布速查/金丝雀发布(Canary Release)
发布策略60 条

金丝雀发布(Canary Release)

先把少量流量导入新版本,对错误率、延迟与业务指标做对照观测,逐步放大比例;异常时把流量切回旧版本,把影响面限制在子集用户内。

CI/CD 与发布速查开发更新于 2026-10-12
流量方式按权重或用户标签导入子集
观测新版本与基线并排对比
节奏小步递增 + 停留观察
失败动作停止放量并回切

Istio 权重金丝雀

Istio 权重金丝雀
apiVersion: networking.istio.io/v1
kind: VirtualService
metadata: {name: web}
spec:
  hosts: [web.example.com]
  http:
  - route:
    - destination: {host: web, subset: v1}
      weight: 90
    - destination: {host: web, subset: v2}
      weight: 10
低流量服务先按 QPS 估算样本量:每秒几个请求时 1% 权重几乎无观测价值,应改用内部用户先行。

易错点

  • 只看技术指标:错误率正常但转化率异常的金丝雀会被一路放量
  • 新旧版本共享有副作用的外部资源(缓存、队列):金丝雀数据污染正式统计

数据来源与参考

  • martinfowler.com《CanaryRelease》
  • Google SRE Workbook《Canarying Releases》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌