微服务架构下的灰度发布、蓝绿发布和滚动发布
灰度发布(又名金丝雀发布)
不停机旧版本,部署新版本,低比例流量(例如:5%)切换到新版本 ,高比例流量(例如:95%)仍走旧版本。通过监控观察确认无问题,逐步扩大范围,慢慢的把所有流量都迁移到新版本上来两套环境交替升级,便于快速回滚,旧版本待流量为零,可以继续保留较长时间后下线给予旧版本较长时间处理完它正在执行的工作,属于无损发布
蓝绿发布
不停机旧版本,部署新版本,将流量切到新版本
两套环境交替升级,便于快速回滚,旧版本待流量为零,可以继续保留较长时间后下线给予旧版本较长时间处理完它正在执行的工作,属于无损发布
滚动发布
每次只升级一个或多个服务 ,升级完成后加入生产环境,不断执行这个过程,直到集群中的全部旧版本升级到新版本,需要较长的时间周期
按批次停止旧版本,启动新版本,由于旧版本不保留,一旦全部升级完毕后才发现问题,则无法快速回滚停止旧版本的过程中,无法精确计算旧版本是否已经完成它正在执行的工作,需要靠业务自身去判断,在某种意义上,属于有损发布