当前位置:网站首页 > Haskell函数式编程 > 正文

服务器部署方式(服务器部署方式怎么选)



运维:三种部署方式

(Blue/Green Deployment)
概述过程注意事项特点适用场景灰度发布概述过程特点滚动发布(Rolling Update Deployment)概述过程特点蓝绿发布(Blue/Green Deployment)概述蓝绿部署是不停老版本,部署新版本然后进行测试。确认OK后将流量切到新版本,然后老版本同时也升级到新版本。蓝绿部署无需停机,并且风险较小。过程部署版本 1 的应用(初始的状态)所有外部请求的流量都打到这个版本上。部署版本 2 的应用版本 2 的代码与版本 1 不同(新功能、Bug修复等)。将流量从版本 1 切换到版本 2。如版本 2 测试正常,就删除版本 1 正在使用的资源(例如实例),从此正式用版本 2从过程不难发现,在部署的过程中,我们的应用始终在线。并且新版本上线的过程中,并没有修改老版本的任何内容,在部署期间,老版本的状态不受影响,这样风险很小。并且只要老版本的资源不被删除,理论上,我们可以在任何时间回滚到老版本。注意事项当你切换到蓝色环境时,需要妥当处理未完成的业务和新的业务。如果你的数据库后端无法处理,会是一个比较麻烦的问题。可能会出现需要同时处理微服务架构应用和传统架构应用的情况,如果在蓝绿部署中协调不好这两者,还是有可能会导致服务停止。需要提前考虑数据库与应用部署同步迁移/回滚的问题。蓝绿部署需要有基础设施支持。在非隔离基础架构( VM 、 Docker 等)上执行蓝绿部署,蓝色环境和绿色环境有被摧毁的风险。
特点优点:升级切换和回退速度非常快。缺点:切换是全量的,如果 V2 版本有问题,则对用户体验有直接影响。 需要两倍机器资源。适用场景对用户体验有一定容忍度的场景。机器资源有富余或者可以按需分配(AWS 云,或自建容器云)。

(Rolling Update Deployment)
概述
滚动发布,在金丝雀发布基础上的进一步优化改进,是一种自动化程度较高的发布方式,用户体验比较平滑,是目前成熟型技术组织所采用的主流发布方式。一般是取出一个或者多个服务器停止服务,执行更新,并重新将其投入使用。周而复始,直到集群中所有的实例都更新成新版本。这种部署方式相对于蓝绿部署,更加节约资源——它不需要运行两个集群、两倍的实例数。我们可以部分部署,例如每次只取出集群的 20% 进行升级。

滚动式发布需要比较复杂的发布工具和智能 LB,支持平滑的版本替换和流量拉入拉出。

每次发布时,先将老版本 V1 流量从 LB 上摘除,然后清除老版本,发新版本 V2,再将 LB 流量接入新版本。这样可以尽量保证用户体验不受影响。

一次滚动式发布一般由若干个发布批次组成,每批的数量一般是可以配置的(可以通过发布模板定义)。例如第一批 1 台(金丝雀),第二批 10%,第三批 50%,第四批 100%。每个批次之间留观察间隔,通过手工验证或监控反馈确保没有问题再发下一批次,所以总体上滚动式发布过程是比较缓慢的 (其中金丝雀的时间一般会比后续批次更长,比如金丝雀 10 分钟,后续间隔 2 分钟)。

回退是发布的逆过程,将新版本流量从 LB 上摘除,清除新版本,发老版本,再将 LB 流量接入老版本。和发布过程一样,回退过程一般也比较慢的。

到此这篇服务器部署方式(服务器部署方式怎么选)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pem文件是什么意思(pem格式文件怎么打开)2026-02-22 11:36:10
  • 指数与对数的转换公式图片(指数与对数的转换公式记忆口诀)2026-02-22 11:36:10
  • 多级列表如何设置1-1(多级列表如何设置1.1、2.1.2.2这样的格式)2026-02-22 11:36:10
  • 信用卡支付方式有哪些(信用卡支付方式有哪些种类)2026-02-22 11:36:10
  • pdfview(PDFview格式怎么转成PDF)2026-02-22 11:36:10
  • ew是什么焊接(ew是什么焊接形式)2026-02-22 11:36:10
  • 计算机编程零基础从哪学起(计算机编程零基础教程)2026-02-22 11:36:10
  • 支付方式怎么更换(支付方式怎么更换银行卡)2026-02-22 11:36:10
  • vs怎么用scanf函数(vs中scanf函数用不了)2026-02-22 11:36:10
  • conv1d函数(conv2d函数)2026-02-22 11:36:10
  • 全屏图片