云效发布策略指南|滚动、分批、灰度怎么选?

本文详细介绍了不同应用发布策略,包括滚动发布、分批发布和灰度发布。滚动发布适用于小规模、快速迭代的微服务,分批发布允许人工控制风险影响范围,灰度发布则通过流量控制进行线上验证。文中以ECS和Kubernetes为例,展示了如何在云效平台上执行这些发布策略,并讨论了各种策略适用的场景和最佳实践。
摘要由CSDN通过智能技术生成

简介:在日常和用户交流过程中,我们也经常会被用户问到关于发布的问题,比如不同职能团队之间应该如何配合、发布的最佳实践应该是什么样子的等等。今天我们就来聊聊常见应用发布方式的选择,以及每种发布模式适合什么样的场景。

image.png

无论从开发运维还是产品运营的角度来看,任何一次上线都是有风险的。从最基本的应用停止导致流量丢失、服务不可用、服务QPS水位下降,到步骤的遗漏、流程的不规范、开发过程中引入的bug,以及新产品/新功能上线导致用户体验的变化,都会导致线上风险。在日常和用户交流过程中,我们也经常会被用户问到关于发布的问题,比如不同职能团队之间应该如何配合、发布的最佳实践应该是什么样子的等等。今天我们就来聊聊常见应用发布方式的选择,以及每种发布模式适合什么样的场景。

平滑升级:滚动发布

分批发布通常指取出一例或多例应用实例,将其停止服务、升级到新版本;周而复始地重复这一过程,直到所有实例都升级到新版本。使用滚动发布,可以最大程度地避免因发布导致的流量丢失和服务不可用问题;这一模式也是Kubernetes应用部署使用的缺省模式。

针对部署规模较小、领域边界较清晰,同时面临业务快速发展变化的微服务应用,滚动发布流程简易且可靠性较高。不过由于通常情况下缺乏强干预手段,发布的可逆程度较差;一旦在发布过程中觉察到问题,往往需要进行全量回滚。

一般来说,滚动发布适用于符合如下条件的场景:

  • 应用部署规模较小、启动和回滚的速度较快;
  • 应用所关注的业务领域范围相对小、边界较清晰,且易于进行线上回归验证;
  • 发布人员充分理解、掌握平台所提供的滚动发布策略;
  • 新版本引入的变更,具有向下兼容性。

下面我们分别以ECS和Kubernetes为例,展示如何在云效平台上进行滚动发布。

面向ECS的滚动发布

在云效中,我们可以使用主机部署任务进行滚动发布。如图所示,假设需要对以下由2台ECS构成的主机组进行滚动发布,每次滚动更新1台主机:

image.png

在流水线中,配置主机部署任务:

image.png

设置“暂停方式”为“不暂停”、“分批数量”为2,即可实现滚动发布。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值