本文来自网易云社区
作者:刘颂
1 项目背景:
2017年5月:客户端提出增加https&dns以及双cdn业务功能 后台配合实现使用disconf配置 针对不同的域名或者请求配置不同的https等信息
2017年7月:考拉上线了工厂店,工厂店产品要求 上线一定时间内 内网灰度 外网不可见 之后某个特定时间 全网开启工厂店 包括首页 搜索 品牌等各个业务模块为了实现这个简单的灰度要求 app 搜索 主站 分别基于disconf实现了多套灰度 一方面代码冗余严重 一方面进行整体操作需要协调多方开发测试进行 徒增风险
2017年8月:随着app 3.8版本开发的开始 多个产品要求针对新增产品进行新老功能的AB实验,如果效果可观会全面开启新功能 基于此,我们觉得有必要将abtest进行统一的设计和服务的提供 在进行技术评审之后 偶然发现有类似功能需求的开发组并不少:
我们希望提供的一个abtest-system需要解决以下问题:
1 产品针对不同场景进行ABTest,从而根据用户行为选择更好的设计方向
2 针对一些上线需要先内测 后公测的功能提供统一的灰度服务
3 对于前端或其他调用方需要进行灰度个性化的支持
2 灰度框架的架构:
1 架构设计上将abtest-system分为