发布机制-金丝雀发布:百科


ylbtech-发布机制-金丝雀发布:百科

 

1. 金丝雀发布(单服务器组)返回顶部
1、
一、单服务器组发布

先解释下单服务器组的概念,早先我们机器资源比较紧张,不像现在云计算和虚拟化(包括容器技术)这么发达,所以应用机器基本是预先静态分配好的(一般由运维负责分配),原来应用 A 住在这 N 台机器上,那么下次升级发布的应用 A 也住在这 N 台机器上,所以称为单服务器组发布方式。

2、
1.2 金丝雀发布(单服务器组)

在蛮力发布基础上的一种简单改进发布方式,目前仍然是不少成长型技术组织的主流发布方式。单服务器组下的金丝雀发布的简化步骤如下图所示:

600发布前

600先发一台金丝雀

600全部发完

 实践要点
  1. 金丝雀发布一般先发 1 台,或者一个小比例,例如 2% 的服务器,主要做流量验证用,也称为金丝雀 (Canary) 测试(国内常称灰度测试)。以前旷工开矿下矿洞前,先会放一只金丝雀进去探是否有有毒气体,看金丝雀能否活下来,金丝雀发布由此得名。简单的金丝雀测试一般通过手工测试验证,复杂的金丝雀测试需要比较完善的监控基础设施配合,通过监控指标反馈,观察金丝雀的健康状况,作为后续发布或回退的依据。

  2. 如果金丝测试通过,则把剩余的 V1 版本全部升级为 V2 版本。如果金丝雀测试失败,则直接回退金丝雀,发布失败。

 优势和适用场合

优势:

  • 用户体验影响小,金丝雀发布过程出现问题只影响少量用户

不足:

  • 发布自动化程度不够,发布期间可引发服务中断

适用场合:

  • 对新版本功能或性能缺乏足够信心

  • 用户体验要求较高的网站业务场景

  • 缺乏足够的自动化发布工具研发能力

 流量模式

600

少量金丝雀先接受流量,再全量发布,图片来自附录 6.1

3、
2.返回顶部
1、
随着云计算和虚拟化技术的成熟,特别是 容器等轻量级虚拟化技术的引入,计算资源受限和申请缓慢问题已经逐步解决,可以做到弹性按需分配。为一次发布分配两组服务器,一组运行现有的 V1 老版本,一组运行待上线的 V2 新版本,再通过 LB 切换流量方式完成发布,这就是所谓的双服务器组发布方式。
2、
2.2 金丝雀发布(双服务器组)

对蓝绿部署的一种简单优化,发布时先从绿组拉入 1 台金丝雀,待金丝雀验证通过再发全量。对比蓝绿发布,该发布方式的优势是有一个生产流量的金丝雀验证过程,可以减轻 V2 可能有问题的风险和影响面。简化发布过程如下图所示:

600

3、
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、
2、
 
6.返回顶部
 
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM