如果有一个网站: test.com ,我已经开发了该网站的新版本。 而且我需要在全面启动之前先进行testing。 所以我想把networkingstream量分成10%到一个新的网站版本和90%到旧的。
这是可能的,我应该如何处理?
PS典型灯pipe栈:linux + apache2 + mysql。 1大物理服务器(40GB的RAM?)。
您可以将nginx或varnishcaching设置为Apache2网站前面的反向代理,并将其configuration为进行适当的stream量分割。
根据网站的新版本是否与旧版本兼容,您可能需要确保给定的用户或IP地址始终为旧版本或新版本; 除非你的整个想法围绕着一个完整的混合搭配。
使用nginx,可以使用http upstream模块 ,并为不同的后端分配不同的weight ,其中每个Apache后端将服务于特定版本的站点。 该模块还具有ip_hash指令,以便您可以指定是否要高度增加给定客户端看到相同版本的站点的可能性。
nginxconfiguration也支持读取cookies; 如果上面的upstream模块本身不够用,也可以通过cookie创build一些额外的selectjoin/退出逻辑,并让nginx根据cookies的内容来分割stream量。