灰度发布又称为金丝雀(canary)发布,是一种版本更新的平滑过度方式。在微服务里,一般是更新服务时,先更新部分实例,通过配置一些用户访问新版本,新版本稳定后,再更新所有实例,把所有流量切到新版本。灰度发布也可以用来做AB测试,例如想测试一个新的算法的效果,可以把部分流量切到新算法,和旧版本效果对比。
此外,还有蓝绿发布,一般来说,蓝绿发布是有两个集群,更新时更新其中的一个集群。原集群和新集群同时保持运行一段时间,在此期间,新集群出现问题,可以立马把流量切回原集群。新集群稳定后,再下线原集群,新集群变为稳定集群。
Spring Cloud 灰度发布原理
大约 14 分钟