业界发布策略

业界发布策略

1、停机发布

停机发布顾名思义就是先把服务停止,再把所有服务升级,在此期间用户不能访问服务

  • 优点:不需要考虑在新旧版本同时存在时的兼容问题
  • 缺的:需要在用户低峰期发布,出现故障回滚麻烦

适合场景:

  • 开发测试环境
  • 非关键应用,用户影响面小
  • 兼容性比较难管控的场景
  • 发布信心不足,需要线上流量进行测试

2、金丝雀发布

金丝雀发布就是先分发部分流量至一个小规模集群,出现故障则回滚至原来的集群,反馈较好则扩大集群将所有流量分发过去,金丝雀发布通常会结合监控系统,通过监控指标,观察金丝雀机器的健康状况。如果金丝雀测试通过,则把剩余的机器全部升级成新版本,否则回滚代码。

优点:

  • 对用户体验影响较小,在金丝雀发布过程中,只有少量用户会受影响
  • 发布安全能够得到保障
    缺点:由于集群较小,很多问题不能暴露出来
    适应场景:
  • 监控比较完备且与发布系统集成

3、灰度发布

灰度发布就是金丝雀发布的延伸,他和金丝雀发布一样,首先先发小部分流量至一个小规模集群,如果反馈较好,则夸大扩集群至下一阶段,总而言之就是将发布分成不同的阶段/批次,每个阶段/批次的用户数量逐级增加。如果新版本在当前阶段没有发现问题,就再增加用户数量进入下一个阶段,直至扩展到全部用户。
在这里插入图片描述

优点:

  1. 用户体验影响比较小, 不需要停机发布
  2. 能够控制发布风险
    缺点
  3. 发布时间会比较长
  4. 需要复杂的发布系统和负载均衡器
  5. 需要考虑新旧版本共存时的兼容性
    适用场景:
  6. 适合可用性较高的生产环境发布

4、蓝绿发布

蓝绿发布就是部署两个完全一样、相互独立的集群,一开始用户使用的生产环境是绿环境,升级版本时部署至蓝环境,首先对蓝环境进行测试,合格则将路由切到蓝环境,如果有问题可以马上回滚回原来环境,在对蓝环境进行调试,修复之后在次切换
在这里插入图片描述

优势:

  1. 升级切换和回退速度非常快
  2. 零停机时间
    缺点:
  3. 一次性的全量切换,如果发布出现问题, 会对用户产生比较大的影响
  4. 需要两倍的机器资源
  5. 需要中间件和应用自身支持热备集群的流量切换
    适用场景:
  6. 机器资源比较富余或者按需分配 (背靠云厂商)

5、ab测试

ab测试与灰度非常相识,但是ab测试更加倾向于对a版本和b版本的差异进行决策,如通过细粒度的流量控制,把 50% 的用户总是引导到 A 实现上,把剩下的 50% 用户总是引导到 B 实现上,通过比较 A 实现和 B 实现的转化率,最终选择转化率较高的 A 实现作为功能的最终版本。
在这里插入图片描述

优势:

  1. 用户体验影响小
  2. 可以使用生产环境流量做测试
  3. 可以针对某些特定用户做测试
    不足:
  4. 需要较为复杂的业务流量识别和控制能力
  5. 需要考虑较为复杂的新旧版本兼容性问题
  6. 技术门槛高
    适用场景:
  7. 用来做业务探索和创新测试
  8. 对用户体验要求很高,确保应用发布风险受控。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值