美文网首页灰度发布
saas灰度发布的技术实现

saas灰度发布的技术实现

作者: 张驰Terry | 来源:发表于2016-12-07 10:38 被阅读366次

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

    1.服务端模板动态配置

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

    <link rel="stylesheet" href="//www.fspage.com/html6/base-dist/assets/style/all.css?20161206" />
    
    <link rel="stylesheet" href="//www.fspage.com/html6/crm-dist/assets/style/all.css?20161201" />
    
    <link rel="stylesheet" href="//www.fspage.com/html6/fs-dist/assets/style/all.css?20161206" />
    
    <link rel="stylesheet" href="//www.fspage.com/html6/mp-dist/assets/style/all.css?20161118" />
    
    <link rel="stylesheet" href="//www.fspage.com/html6/app-dist/all.css?20161206" />
    

    其中静态资源的引用中有"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灰度发布的技术实现

        本文链接:https://www.haomeiwen.com/subject/wsjdmttx.html