概念

百度百科

灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。

简单来说就是线上运行两个版本的用户,部分用户高版本,部分用户继续低版本,等高版本测试ok之后,全部更新。

nginx下的实现

nginx 配置

server {
listen 80;
  
server_name  www.example.com;
	set $webpath  /var/www/web1;

	if ($remote_addr = 111.111.111.111) {
		set $webpath  /var/www/web2; 
	 } 

		location / { 
				root $webpath;    
				index  index.php;
				location / {
						try_files $uri $uri/ /index.php;
				}
		}
}