Java教程

版本发布方式

本文主要是介绍版本发布方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、全量发布

1.1 蓝绿发布

部署两个常驻集群A、B,由A承载日常流量,B作为冷备份;
发布时,流量全都切到B,先对A升级,A升级完后,流量切到A;
再升级B;

1.2 红黑发布

部署一个常驻集群A,承载日常流量,无冷备份;
发布时,用新版代码弹性部署一个集群B,将流量切到B;
弹性回收集群A;

比较:
1.充分利用云计算的容器化、虚拟化带来的伸缩能力,更快速。
2.流程更简单,网关切换次数更少;
3.不需要象蓝绿那样,将全量计算资源一分为二,集群始终都使用着全量计算资源,不需要蓝绿那样要避开业务高峰期升级。

实践中,可以两者结合;
在fygs项目交付早期,采用的就是蓝绿发布,A集群做冷备,且发布窗口开得密集,主要用于特性验证,通过后再同步到B集群。
但同时利用CI/CD,Kubernets,Dev/Ops的方式。

二、增量发布

2.1 灰度发布(金丝雀)

部署一个常驻集群A,承载日常流量,无冷备份;
发布时,新版本代码启动B集群;
将流量分批切换至B集群;

注意:
1.针对改动较大的版本升级,比如DML,或者RPC接口改动较大,代码层面必须做好新老兼容。
2.用户量请求的分批时,必须考虑一致性路由。
3.分批切换的时机必须配合良好的监控,否则会有风险。

总体来说适合新的、体量较小、追求快速迭代的项目。

这篇关于版本发布方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!