灰度发布和滚动发布的本质区别是什么?

都是先升级部分服务器,再升级剩余的服务器,那两者到底有什么本质的区别呢?

两者不都是先将要升级的服务器从负载均衡调度集群剔除,然后,升级新版本后,再加入调度集群,接着,去测试服务是否正常,若是正常,那么,就继续升级余下的旧版本的服务器吗?

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


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


所以两者都就明显不同~~


网上也有好多具体关于发布的文章,例如以下是我保存的文章说明:https://www.jianshu.com/p/311009781b77