Canary

20th August 2020 at 2:19pm

Microservice 界有 Canary Development / Canary Test 的说法。这是一个在用户不知情的情况下,把服务端应用程序慢慢发布出过的过程:

比如上图中,一开始按 5% 比例,把程序新版本给用户使用。如果一切正常,再全部发布。全部发布的过程,可以是逐渐提高新版本比例(gradual rollouts),也就是腾讯中常讲的「灰度发布」;也可以是直接发布,类似 Chrome Canary 变成 Chrome Stable,或者 VSCode Insider 的机制。

Canary 是金丝雀,这个名字的来源是,以前挖矿的工人会带金丝雀,一里毒气浓度达到一定程度,金丝雀会先死去,这能警告工人们远离危险。

参考材料: