我最近遇到了这种金丝雀部署过程,据说
Canary部署是一种用于将发行版发布到一部分用户或服务器的模式。想法是首先将更改部署到一小部分服务器,进行测试,然后将更改推广到其余服务器。金丝雀部署可作为预警指标,对停机时间的影响较小:如果金丝雀部署失败,则其余服务器不会受到影响。
提到的一些文章*这是“测试中的策略”。
这是否意味着未在较低环境中测试代码(集成和性能测试)?如果是,在没有代码信心的情况下,如何将这些部署排除在外?
请澄清我。预先感谢
答案 0 :(得分:1)
Canary部署是一种逐渐向新服务器打开请求防火墙,同时继续使用已部署的服务响应大多数请求的方法。因此,是的,这确实是“生产测试”策略,但是其思想是,如果金丝雀掉了,就不会部署到整个集群中。
这个名字源于一个想法,即煤矿工人过去曾携带金丝雀,而金丝雀比人类对碳氧化物的影响更为敏感(一氧化碳既有毒又可能爆炸,如果二氧化硫排除了足够的氧气,就会使您窒息)。如果金丝雀在矿工身上盘旋而过,那就知道是时候该高尾了。