常用于生产部署方式详解 灰度发布 滚动发布 蓝绿发布

传统型

                这种方式基本上很多中小型企业都在用,尤其是政府或是对企业内部的系统。通常都是直接停服务,将正在运行的程序包备份到指定目录,将新的程序包上传到服务器,停服务,替换老的包,启动服务。

      优点:

                1、操作人员容易理解,服务少时操作简单。

                  2、节省资源。

      缺点:

               1、服务多的时候操作繁琐,效率极低。

                 2、需要停很长时间服务,所以通常都是晚上或是用户不使用阶段进行。如果是要求停服务时间短的产品或是公司不建议使用这种方式。

 

蓝绿发布

        什么是蓝绿发布?

        理解:就是在运行环境下再每个服务对应的准备一套服务器,例如:现在生产时A套服务服务器,再根据A套服务器准备相同数据的服务器(B),在发布的时候在B服务上部署本次要上生产的服务。然后启动B套服务器上的服务,切网关代理到B上,停A上的上官服务。通常生产上部署在的A称为蓝色,部署在B上的称为绿色。

        优点:

                   1、在绿色环境下进行测试验证,验证通过后可以直接切换为生产。

                   2、停服务时间几乎可以忽略,用户无感知,平滑过渡。

                   3、回退速度非常快。

        缺点:

                   1、服务器是需要的二倍,成本较高。

                   2、服务配置等操作更复杂。

                

 

滚动发布

        什么是滚动发布?

        主要是解决蓝绿发布设备硬件倍增的问题。新服务和老服务是混在一起的。就是在升级部署过程中,并不是启动所有新版本服务,而是先启动一台新版本,再停止一台老版本,然后再启动一台新版本,再停止一台老版本,直到升级完成,这样的话,如果日常需要10台服务器,那么升级过程中也就只需要11台就行了。

 

        优势:

                1、用户无感知,平滑过渡

                2、服务器成本新增较低。

        劣势:

                1、回滚困难,尤其是微服务,互相调用关系复杂情况下那将是灾难的。将新版本流量从 LB 上摘除,清除新版本,发老版本,再将 LB 流量接入老版本。和发布过程一样。

                2、部署时间慢,取决于每阶段更新时间;

                3、发布策略较复杂;

灰度发布(金丝雀发布)

        什么是灰度发布?

        灰度发布只升级部分服务,类似于蓝绿部署,但又不完全相同。灰度发布采用对用户有筛选的分流机制,将新版本应用只针对少量用户开放,在保障整体系统稳定的情况下,尽早发现、调整问题,这种方式也叫金丝雀发布。只准备几台服务器,在上面部署新版本的系统并测试验证。测试通过之后,担心出现意外,还不敢立即更新所有的服务器。 先将线上的一万台服务器中的10台更新为最新的系统,然后观察验证。确认没有异常之后,再将剩余的所有服务器更新。

灰度发布操作过程:

1、区分用户规则,就是让那些用户走那些服务。可以一用权重、权限、用户id等来区分控制。

2、预制规则代码,在网关中写好。

3、看选用的什么区分控制方式,来确定是否需要修改元数据。

如果选用权重的方式那么只需要在网关中将规则代码写好即可。

 

优点:

        1、用户无感知,平滑过渡。

        2、初始灰度的时候就可以发现、调整问题,影响范围可控。

        3、相对节省服务器成本。

缺点:

        1、时间成本高,整个灰度从前期的灰度策略直到最后完全上线要耗费很大的时间
同时维护新旧两套代码、两套配置,以及版本之间的耦合问题

        2、自动化要求高

可以支持A/B测试:就是一部份用户A使用,一部分用户B来测试。

参考:1、常见应用发布方式浅析_zhinengyunwei的博客-CSDN博客_应用发布

           2、一文搞懂蓝绿发布、灰度发布和滚动发布 - 努力哥 - 博客园

         

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任玉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值