灰度发布,即AB test。是发现、调整产品问题的重要手段,通过灰度发布可以控制产品迭代过程中的影响度。

纷享销客是用于移动办公和销售管理的办公软件,其产品形态主要体现在网页,手机APP以及PC客户端。

以下将描述纷享销客在网页端实现灰度发布过程中的手段和原理,供大家学习参考:


1. 服务端模板配置


查看http://www.fxiaoke.com/XV/Home/Index网页源码

<link rel="stylesheet" href="//www.fspage.com/html6/base-dist/assets/style/all.css" />

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


2. nginx流量分发


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


3. 前端脚本动态分发 


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


4. ajax接口分发路由 


对于由后台接口业务页面地址的场景,接口服务在返回页面地址的时候,会根据app版本,灰度,企业等等信息区分页面地址。       

        

        通过对以上四种方案的对比,大家可以发现灰度发布依赖一种称为“用户标示”的东西,它可以是IP,可以是Cookie,也可以是App版本,或者产品用户的更多特点(地区。年龄等等),用户标示依赖于灰度发布的目标用户选取策略。

         

        实现灰度发布的技术方案也仅仅是灰度发布过程中的一环,灰度发布产生的数据收集也是非常重要的,例如:灰度网页的使用次数,性能分析,新服务街口的调用次数,它影响最终产品真正上线的决策和质量。

        

        另外一个需要补充的细节是,通常网页端的灰度发布成本是比较低的,因为更新产生在服务器,但是移动端App因为受限于AppStore或安卓市场的审核机制,所以灰度发布的成本是较高的,对于一家拥有网页,移动端产品形态的公司来说,通常灰度发布的时间点由App控制的,为了让App拥有web端一样灵活的灰度发布机制,类似ReactNative,Weex,Hybrid App,h5这样的方式一直被探索使用


品读之后,

愿享同感。


by.张驰Terry


©著作权归作者所有:来自51CTO博客作者mb607558ea4fef1的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 即将发布的 ASP.NET Core 2.2 会有哪些新玩意儿?
  2. Java并发编程学习4-线程封闭和安全发布
  3. Java项目Centos7发布之发布过程
  4. Java项目发布之基础知识准备
  5. 发布让最新Windows蓝屏的Poc
  6. 半年21项全新发布和升级,百度飞桨团队「码力」全开
  7. Virtual Apps and Desktops 2103版发布
  8. 高通下一代旗舰骁龙865正式发布:外挂「真5G」,小米10将首发
  9. 专访唐杰 | 我国首个超大智能模型「悟道」发布,迎接基于模型的AI

随机推荐

  1. 如何使用XML实现多渠道接入网站的构架
  2. 灵活调用xsl来解析xml文档(js异步)
  3. FireFox对XML的处理兼容IE的节点处理方法
  4. 读写xml所有节点个人小结 和 读取xml节点
  5. 基于关系型数据库引擎的"XML"索引技术
  6. XML 增、删、改和查示例
  7. 效率最高的xml解析方式
  8. Python 解析 xml[xml.dom]
  9. Linux下将Tinyxml编译为静态库
  10. AJAX之xmlHttp