常见部署方案:普通部署、滚动部署、蓝绿部署、灰度发布(金丝雀发布)

本文介绍了四种常见的应用程序部署策略:普通部署、滚动更新、蓝绿部署和灰度发布。普通部署涉及停止旧应用再部署新应用,服务会有中断。滚动更新允许部分服务持续运行,逐步更新实例。蓝绿部署则是在不中断旧版本服务的情况下部署新版本,测试无误后切换流量。灰度发布(金丝雀发布)通过小规模测试新版本,逐步扩大范围,确保系统稳定。这些策略各有优缺点,适用于不同的业务场景。
摘要由CSDN通过智能技术生成


一、普通部署

最早的部署方式:先停止旧的应用,然后再部署新的应用,这个过程服务是会间断的。


二、滚动更新(Rolling update)

滚动发布:一般是取出一个或者多个服务器停止服务(例如:每次只取出集群的20%进行升级),执行更新,并重新将其投入使用。周而复始,直到集群中所有的实例都更新成新版本。

特点:部分服务不会停止,但是整个系统会有新旧并存的情况。


三、蓝绿部署(Blue/Green Deployment)

蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本。

特点: 蓝绿部署无需停机,并且风险较小。

布署过程:

  • (1)部署v1的应用(一开始的状态)
    所有外部请求的流量都打到这个版本上。
  • (2)部署版本2的应用
    版本2的代码与版本1不同(新功能、Bug修复等).
  • (3)将流量从版本1切换到版本2。
  • (4)如版本2测试正常,就删除版本1正在使用的资源(例如实例),从此正式用版本2。

四、灰度发布(金丝雀发布)

灰度发布又叫 金丝雀发布,是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度,而我们平常所说的金丝雀部署也就是灰度发布的一种方式。

特点: 灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

为什么灰度发布要叫金丝雀发布?
    相传在17世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;而当瓦斯含量超过一定限度时,虽然鲁钝的人类毫无察觉,金丝雀却早已毒发身亡。当时在采矿设备相对简陋的条件下,工人们每次下井都会带上一只金丝雀作为“瓦斯检测指标”,以便在危险状况下紧急撤离。

灰度发布步骤组成:

(1)准备好部署各个阶段的工件,包括:构建工件,测试脚本,配置文件和部署清单文件。
(2)从负载均衡列表中移除掉“金丝雀”服务器。
(3)升级“金丝雀”应用(排掉原有流量并进行部署)。
(4)对应用进行自动化测试。
(5)将“金丝雀”服务器重新添加到负载均衡列表中(连通性和健康检查)。
(6)如果“金丝雀”在线使用测试成功,升级剩余的其他服务器。(否则就回滚)

说明: 除此之外灰度发布还可以设置路由权重,动态调整不同的权重来进行新老版本的验证。


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值