如何发布新版本

如何发布新版本

线上系统发布新版本需要注意什么?

首先,对于线上应用,发布时一定需要注意,停机时间不能太长,最好不影响正常应用。

新版本可能有问题,尽可能降低新版本问题导致的风险。

三种发布新版本的方法

首先分别全量发布与增量发布

全量发布主要讲述蓝绿发布与红黑发布

增量发布主要讲述灰度发布

蓝绿发布

首先将正在运行的服务器组分为两部分,一部分为蓝色,一部分为绿色。

此时改动网关,断开绿色组。

此时修改绿色部分,升级为新版本。

改动网关,连接绿色组,断开蓝色组。

升级蓝色组,连接蓝色组。

就可以实现无限接近于不停机的服务了。

全量发布

红黑发布

旧版本运行的服务器为红色组。

将新版本程序部署到一组同样的服务器上,为黑色组。

改动网关,把红色组断开,黑色组连接。

废弃掉红色组。

蓝绿发布与红黑发布的对比

相比来说,红黑发布操作更简单。蓝绿发布时,有一段时间只有一半服务器在运行,这时候如果来了大量流量,可能会冲垮服务器。(据说使用蓝绿发布,都得趁半夜大家都睡了的时候发布)

但是红黑分布需要一台额外的服务器。所以红黑分布更适合于云计算,可以充分发挥云计算的弹性资源优势。不然额外准备一台服务器就太逆天了。

增量发布

顾名思义,增量发布就是一点一点发布,不一下子全发完

灰度发布

灰度发布(又名金丝雀发布,因为据说金丝雀对毒气更加敏感,挖矿的时候都是用金丝雀去查看矿井中是否有毒气)是指在黑与白之间,能够平滑过渡的一种发布方式

可以这么理解,先发布一小部分,看看情况,再逐渐扩大(参考小米手机操作系统更新)。非常明显的一个好处就是,如果新版本有问题,不会波及太多人,不会造成太大的损失。

灰度发布遇到的挑战

灰度发布听起来很好,但是也有巨大的麻烦。

  1. 首先是兼容性问题,如果新版本更新太大,跟旧版本完全不兼容了,那完蛋了。假如说QQ突然更新了,然后最新版本跟旧版本区别太大,没法互发消息了。你看用户骂不骂大街。
  2. 用户的请求可能不固定,第一次访问进入的旧版本,第二次进入的新版本,可能会出现异常。可以使nginx进行基于IP的负载均衡。
  3. 什么时候应该提高发布度。可以使用假如监控,如果一段时间内满足要求就加大发布量。

综上所述,灰度发布有一定的理想化,并没有大规模使用。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值