Archive | 五月, 2018

也说说蓝绿、金丝雀和ABTesting

前言

关于灰度发布描述网上说法非常多,蓝绿、金丝雀、ABTesting分别是啥,怎么搞的都有各自的说法,有些不太一致。笔者基于自己的实践中描述下。本来也就是一种工程上的实践的风格,也不是什么非常严格理论定义,所以要区分的非常清楚也没有必要。其实只要搞清楚发明这几种实践是干什么用的,侧重点分别是什么即可。

蓝绿

蓝绿发布的主要思路是在新版本在另外一套独立的资源上上线,新版本起来后将所有的流量从老版本切到新版本上来。当新版本工作正常,则删除老版本;当新版本工作有问题,则快速能切回到老版本。因此蓝绿发布看上是一种热部署的方式,目的是减少发布过程中的服务停止时间。

可以看到因为两个版本都是可用,其升级切换和回退速度非常快。为了达到这种快速切换复出的代价是要搞冗余的资源,即2倍的原有资源,分别部署新老版本。此外一个问题是全量的切流量,如果新版本有问题,则所有的用户将受到影响。

 [......]

阅读全文

Tags: ,

Comments { 1 }

详析Istio最新v1alpha3 流量管理规则

前言

isto提供了一种简单的语法来描述如何进行流量管理。可以给服务配置熔断、超时、重试等规则,也可以配置规则来切分流量从而实现金丝雀发布、A/B测试等发布功能。一个典型场景如官方文档中的case,将一定比例的流量或者满足一定条件的请求的流量切分到一个特定版本上。

Istio的route rule从v1alpha1v1alpha3 变化特别大,可以看出对规则设计上完全进行了重构。看上去v1alpha3功能上更强了,可以预见未来1.0后alpha3风格的语法因为提供了更强的表达能力,将逐步取代alpha1成为标准语法。但是初次使用或者中alpha1直接切过来一般还会有些不适应。因为较之alpha1,v1alpha3使用上还是有点复杂。导致原来用v1alpha1配置的规则场景在v1alpha3下不是很容易的配置出来。因此本文一个典型例子来说明下v1alpha3规则的使用上的细[......]

阅读全文

Tags: , , ,

Comments { 2 }