为什么灰度发布又叫金丝雀发布?

一、什么是灰度发布?

作为技术人员,肯定听说过灰度发布这个技术术语,它指的是发布版本(黑)与线上版本(白)之间,能够平滑过渡的一种发布方式。

1)为什么需要灰度?

一般来说,随着一个产品不断地快速迭代开发上线,必然会有一方面要保证线上版本稳定,另一方面又要保证新版本上线的需求,这时候就需要设计一套灰度发布系统,让大部分用户继续使用原来的线上版本,少量用户或内部测试人员使用新版本功能,并且一旦出现问题可以很快的控制影响,如果没有不良的反馈意见,则继续逐步扩大范围,把所有用户都迁移到新版本上面来。

2)灰度发布的优势

灰度发布可以保证整体业务的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度,实现更好的风险控制。
这种发布形式非常实用,包括Google都在使用,并在书中有详细介绍,是不少成长型技术组织和互联网公司的主流发布方式。

二、和金丝雀的关系

金丝雀发布 这个说法其实来自欧美,以前旷工矿工开矿,在下矿洞时面临的一个重要危险就是矿井中的毒气,于是他们想到一个办法来辨别矿井中是否有毒气,矿工们下矿井时随身携带一只金丝雀(Canary)
由于金丝雀对毒气的抵抗能力比人类要弱,在毒气环境下会先挂掉起到预警的作用,这种风险控制背后的原理暗合灰度发布的根本需求,即:

用较小的代价试错,即使出现了严重的错误(出现了毒气),对业务总体的影响也是可承受的或者是非常小的(失去了一只金丝雀)

你可能感兴趣的:(为什么灰度发布又叫金丝雀发布?)