微服务部署的几种方式

微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布。

1. 蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同 时也升级到新版本。 蓝绿部署无需停机,并且风险较小。

2. 滚动发布:一般是取出一个或者多个服务器停止服务,执行更新,并重新将其投入使用。周而复 始,直到集群中所有的实例都更新成新版本。 这种部署方式相对于蓝绿部署,更加节约资源—— 它不需要运行两个集群、两倍的实例数。我们可以部分部署,例如每次只取出集群的20%进行升 级。

3. 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让 一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围, 把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发 现、调整问题,以保证其影响度,而我们平常所说的金丝雀部署也就是灰度发布的一种方式。

4.金丝雀发布发布指的是 Deployment控制器支持自定义控制更新过程中的滚动节奏,如“暂停(pause)”或“继续(resume)”更新操 作。比如等待第一批新的Pod资源创建完成后立即暂停更新过程,此时,仅存在一部分新版本的应用, 主体部分还是旧的版本。然后,再筛选一小部分的用户请求路由到新版本的Pod应用,继续观察能否稳 定地按期望的方式运行。确定没问题之后再继续完成余下的Pod资源滚动更新,否则立即回滚更新操 作。这就是所谓的金丝雀发布(Canary Release)

你可能感兴趣的:(运维,K8S,微服务,java,架构)