首页 新闻 搜索 专区 学院

如何实现这样的灰度发布

0
悬赏园豆:50 [已解决问题] 解决于 2015-08-25 18:12

【发布场景】

站点(upload.cnblogs.com)部署在1台阿里云服务器上,带宽也绑定在这台服务器上,想在同1台服务器上灰度发布新版upload站点,只让一部分用户新版访问upload站点。

【限制条件】

1)服务器只能绑定1个公网IP

2)只能部署在同1台服务器上(因为带宽绑定在这台服务器)

3)不管访问的是新站点还是旧站点,用户访问的都是同1个域名(upload.cnblogs.com)

dudu的主页 dudu | 高人七级 | 园豆:38803
提问于:2015-08-25 14:06
< >
分享
最佳答案
0

做反向代理,ok么?

收获园豆:50
幻天芒 | 高人七级 |园豆:36652 | 2015-08-25 14:10

高!好思路!而且阿里云SLB就是一个现成的反向代理。

基于这个反向代理的思路,打算这样实现:

1)在这台upload服务器上以8080端口绑定upload.cnblogs.com的方式部署新站点

2)创建1台阿里云SLB(反向代理),在“服务监听”中设置后端服务器的端口为8080,并添加upload服务器作为后端服务器。

3)在dns服务器中添加解析,将部分用户访问upload.cnblogs.com的请求解析到SLB(反向代理)的IP地址。

dudu | 园豆:38803 (高人七级) | 2015-08-25 15:01

@dudu: 这个部分用户是随机的?我想请教一下,如何在反向代理中添加业务规则?

幻天芒 | 园豆:36652 (高人七级) | 2015-08-25 15:43

@幻天芒: 这取决于dns解析的方式,我们会选择部分地区的用户进行解析。反向代理通常只是一个web服务器,比如nginx,怎么会有添加业务规则的需求?

dudu | 园豆:38803 (高人七级) | 2015-08-25 15:50

@dudu: 我还以为你们是要指定部分用户呢,我一般也是用Nginx做反向代理,没添加过业务规则。。

幻天芒 | 园豆:36652 (高人七级) | 2015-08-25 16:04

@dudu: 这种需求还是有的,比如像QQ空间会让某个数字结尾的QQ用户体验新版,或者某部分用户很积极参加内测,必须让他们可以使用测试版,而其他人还是稳定版,这样对于反向代理就有解析业务规则的需求了

Genius Zhang | 园豆:401 (菜鸟二级) | 2015-08-27 22:07
其他回答(2)
0

最好来个图。。

Coca-code | 园豆:6 (初学一级) | 2015-08-25 14:15
0

写两个xml文件,用户访问时判断分给用户的是旧站点,页面中加载旧站点对应xml文件;反之,用户访问时判断分给用户的是新站点,页面中加载新站点对应xml文件。

小尧弟 | 园豆:500 (菜鸟二级) | 2015-08-25 15:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册