saas灰度发布的技术实现

灰度发布一般用于发现、调整产品问题,以保证其影响度,简单理解即AB test,以下将描述纷享销客实现灰度发布的一些方式,供大家参考

1.服务端模板动态配置

举个例子,访问 https://www.fxiaoke.com/XV/Home/Index 这个页面,查看源码










其中静态资源的引用中有"html6"这个字符串,服务端(php,.net,nodejs,jsp)将根据登陆用户或企业的不同,在输出服务端html内容时,动态改变路径为html6,html5或html4等等,从而影响用户最后访问的功能。

2.nginx流量分发

举个例子,如果你的服务器使用nginx,可以在nginx这一层,根据当前用户cookie或者来源ip,动态分配接口流量切换至a/b服务,静态文件将流量切换至a/b路径或主机,这个方案非常适合无登陆状态的产品灰度发布。

3.前端入口页动态分发

对于无法使用1,2方案的场景,只能依靠前端在访问入口页面a.html时,前端与业务接口通信,判断是否进行灰度,然后前端分发至a-format.html或b-gray.html页面。

4.服务端接口返回的页面地址直接区分是否灰度

对于一些在app内打开的页面,接口服务在返回页面地址的时候,会根据app,灰度,企业等等信息区分页面地址。

成熟的互联网产品,都会有一套自己的灰度发布机制,完全自动化,当然灰度发布的数据分析统计也尤为重要,对产品的迭代和发布有着极其远的影响。

当然还有很多技术方案,大家知道的希望一起交流分享。

你可能感兴趣的:(saas灰度发布的技术实现)