博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DevOps金丝雀发布
阅读量:2046 次
发布时间:2019-04-28

本文共 602 字,大约阅读时间需要 2 分钟。

丝雀发布

金丝雀发布(canary release)的名字很是好听。我们都知道以前矿工在下井采矿之前会把一种名叫金丝雀的鸟儿投入或携带到矿井中,如果鸟儿能够从矿井中飞出就表示井下有氧气,矿工就可以安心下井采矿了。通过这个故事的讲述我们可能已经猜到金丝雀发布的含义了。是的,所谓金丝雀发布就是把应用程序的某个新版本部署到生产环境中的部分服务器中,从而快速得到反馈。就像通过金丝雀发现矿井是否有氧气一样,金丝雀发布可以快速而有效地发现软件新版本存在的问题。

 

以下是关于金丝雀发布的示意图:

 

在互联网公司经常流行一种说法叫做灰度发布,其实金丝雀和灰度发布的机理是一致的,即把应用程序的某个新版本部署到生产环境的部分服务器或部分用户群体中,从而得到快速反馈并降低可能的发布风险。您可以把金丝雀发布理解为灰度发布的初始级别。灰度发布可以把发布分成不同的阶段,至于划分为几个阶段或每个阶段包括多少用户由具体组织的情况而定。

比如BAT之一的腾讯公司为了验证其QQ或微信的新特性是否能够受到市场的青睐又不至于造成广大用户针对此新特性的负面评价,该公司往往采用灰度发布的做法,先把新特性按照不同的阶段或周期推送给其所谓的粉丝级用户群,在获得正面反馈后,再进入下一个预设阶段的推送,确保分批地把新特性推给更多目标用户。在确定新的软件特性在风险可控的情况下,再逐步部署到全部的服务器上,从而支持所有用户针对新特性的新体验。

转载地址:http://zfoof.baihongyu.com/

你可能感兴趣的文章
Leetcode C++《每日一题》20200622 面试题 16.18. 模式匹配
查看>>
Leetcode C++《每日一题》20200625 139. 单词拆分
查看>>
Leetcode C++《每日一题》20200626 338. 比特位计数
查看>>
Leetcode C++ 《拓扑排序-1》20200626 207.课程表
查看>>
Go语言学习Part1:包、变量和函数
查看>>
Go语言学习Part2:流程控制语句:for、if、else、switch 和 defer
查看>>
Go语言学习Part3:struct、slice和映射
查看>>
Go语言学习Part4-1:方法和接口
查看>>
Leetcode Go 《精选TOP面试题》20200628 69.x的平方根
查看>>
leetcode 130. Surrounded Regions
查看>>
【托业】【全真题库】TEST2-语法题
查看>>
博客文格式优化
查看>>
【托业】【新托业全真模拟】疑难语法题知识点总结(01~05)
查看>>
【SQL】group by 和order by 的区别。
查看>>
【Python】详解Python多线程Selenium跨浏览器测试
查看>>
Jmeter之参数化
查看>>
Shell 和Python的区别。
查看>>
Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
查看>>
Loadrunner之https协议录制回放报错如何解决?(九)
查看>>
python中xrange和range的异同
查看>>