0
点赞
收藏
分享

微信扫一扫

Istio 流量管理案例/主流发布策略


主流发布方案介绍

主流发布方案:

  • 蓝绿发布
  • 滚动发布
  • 灰度发布(金丝雀发布)
  • A/B Test

 


蓝绿发布  简单粗暴

这些发布方案主要解决什么问题,主要是解决新旧业务平滑的切换,升级,顺利的带入到生产环境,保持其不间断的提供服务,减少流量丢失。

项目逻辑上分为AB组,在项目升级时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务。A组升级完成上线,B组从负载均衡中摘除。

特点:


  • 策略简单
  • 升级/回滚速度快
  • 用户无感知,平滑过渡

缺点:


  • 需要两倍以上服务器资源
  • 短时间内浪费一定资源成本
  • 有问题影响范围大

Istio 流量管理案例/主流发布策略_istio

适合小项目,对用户的敏感度不是特别大。

 


滚动发布

kubernetes默认的更新策略也就是主流发布方案是滚动更新。

每次只升级一个或多个服务,升级完成后加入生产环境, 不断执行这个过程,直到集群中的全部旧版升级新版本。


Kubernetes的默认发布策略。


特点:


  • 用户无感知,平滑过渡

缺点:


  • 部署周期长(需要健康检查,等它准备就绪,然后升级下一个,健康检查还是需要花费一些时间的)
  • 发布策略较复杂
  • 不易回滚
  • 有影响范围较大

Istio 流量管理案例/主流发布策略_生产环境_02

 

 

 

 


灰度发布(金丝雀发布)

只升级部分服务,即让一部分用户继续用老版本,一部分用户开始用新版本,如果用户对新版本没有什么意见,那么逐步扩大范围,把所有用户都迁移到新版本上面来。(影响面非常的小)


特点:


  • 保证整体系统稳定性
  • 用户无感知,平滑过渡

缺点:


  • 自动化要求高

Istio 流量管理案例/主流发布策略_istio_03

 

 

 


A/B Test

灰度发布的一种方式,主要对特定用户采样后,对收集到的反馈数据做相关对比,然后根据比对结果作出决策。用来测试应用功能表现的方法,侧重应用的可用性,受欢迎程度等,最后决定是否升级。

Istio 流量管理案例/主流发布策略_生产环境_04

举报

相关推荐

0 条评论