运维部署发布方式

本文详细介绍了四种无停机部署策略:蓝绿部署、灰度发布(金丝雀发布)、滚动发布和红黑部署。蓝绿部署通过两套系统交替实现零宕机更新;灰度发布允许逐步扩大新版本用户群,进行测试和监控;滚动发布逐个更新服务器,节省资源但速度较慢;红黑部署则借助AWS特性实现快速切换,确保服务始终在线。这些策略旨在确保服务稳定的同时,提高产品迭代效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运维部署上线发布方式

发布手段:

  • 蓝绿部署
  • 灰度发布(金丝线发布)
  • 滚动发布
  • 红黑部署

蓝绿部署

蓝绿发布是用于0 downtime应用上线时的一套部署策略

发布方式:蓝绿部署无需停机,不停止老版,额外搞一套新版本,等测试发现新版本OK后,删除老版本。
流量管理:在部署新版本之前,需要将部署新版本的流量掐断,全部打到ok的老版本上。
条件:需要有两倍的机器资源。

Tag:全量发布

灰度发布(金丝雀发布)

对某一产品的发布逐步扩大使用群体范围的一种发布方式,让用户尽早参与,获取用户反馈,完善产品功能,提升产品质量

过程

  • 掐断“金丝雀”服务器的流量;
  • “金丝雀”服务器更新升级到新版本;
  • 在“金丝雀”服务器上对应用进行自动化测试。
  • 将“金丝雀”服务器重新配置到LB中(连通性和健康检查)。
  • 如果“金丝雀”在线使用测试成功,升级剩余的其他服务器。(否则就回滚)

1. 精确的流量分发控制

需要有确切的策略保证某特征用户访问新版本,某特征用户访问老版本。从产品角度看要做A/B test,必须控制测试样本。

2. 做监控

运维: 错误率,吞吐量,延迟,cpu内存消耗
PM: pv, uv
3. 需要灵活发布应用

周期可能会持续很久,所以新旧版本会并存。同时,还有可能各个版本需要各自迭代。版本之间能够区分对应的监控日志信息。

Tag: 小批次切换

滚动发布

一般是取出一个或者多个服务器停止服务,执行更新,并重新将其投入使用。周而复始,直到集群中所有的实例都更新成新版本

优点:
比蓝绿部署节约资源
缺点
服务器节点数量多,会很慢

部署过程:

  • 发布一台金丝雀,主要做流量验证。
  • 需要准备好发布工具和智能LB,平滑的版本替换和流量的拉入拉出。
  • 每次发布先将老版本V1流量从LB移除,然后清楚老版本,发新版本V2,再将LB流量接入新版本。
  • 一次滚动式发布一般由若干个发布批次组成,每批次发布数量可配置。并且每批次之间有时间间隔,所以导致滚动发布过程比较缓慢
  • 回退,发布的逆过程,所以一样缓慢

Tag:批量切换

红黑部署

红黑部署时Netflix采用的部署手段,Netflix的主要基础设施是在AWS上,所以它利用AWS的特性,在部署新的版本时,通过AutoScaling Group用包含新版本应用的AMI的LaunchConfiguration创建新的服务器。测试不通过,找到问题原因后,直接干掉新生成的服务器以及Autoscaling Group就可以,测试通过,则将ELB指向新的服务器集群,然后销毁掉旧的服务器集群以及AutoScaling Group

优点:
服务始终在线,同时采用不可变部署的方式,也不像蓝绿部署一样得保持冗余的服务始终在线
注意事项:
在蓝绿色部署中,两个版本可能暂时同时获取请求,而在红黑中,只有一个版本在任何时间点获得流量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值