蓝绿部署
同时有两套环境,分别是环境A和环境B,正常流量都打到环境A中,我们可以对环境B做任意改动,比如升级等,如果要切换版本,直接把流量切换至环境B即可。缺点就是成本稍微高了些。
灰度发布(又叫金丝雀发布)
通过小范围测试及发布的方式,来逐渐更新我们的新版本;具体流程大概是这样:首先所有的流量都走老版本,然后切5%的流量走到新版本,如果没问题,再切50%的流量到新版本,直至所有流量切至新版本。灰度发布最大的优点,就是可以利用真实的线上数据做一个测试,并且也是比较容易回滚的,缺点就是需要我们可能同时管理多个版本,同时还要考虑版本之间上下兼容的问题。
A/B测试
本质上实现方式和灰度发布是完全一致的,只不过它俩的侧重面不一样。灰度发布最终是要把所有的流量打到新版本中,以便实现一个版本迭代;而A和B,主要是用来比较这两个版本的优劣,A/B在很多行业(比如游戏行业)非常常用,我们通常用它来去测试一些配置数据的效果,比如修改一下某一个道具的属性、价格等等,然后来测试不同两个版本的道具,它们对用户数据产生的影响。

