正文
很好的算法,在基线上有可能无法收到好的效果。
实验的流量有限,导致实验的数量变少,而增大实验流量又会影响业务基线。
我们在总结现有的各种实验机制的基础上,结合阿里妈妈的应用场景实践出了一种高效便捷、能充分利用流量、并行多个实验的方法。
该方法也能支持系统的灰度发布,有如下几个优点。
-
提高并发:实现多实验并行迭代,加快迭代的速度。
-
公平对比:做到实验效果公平、准确对比评估,即时停止不符预期的实验;随时扩大效果良好的实验的流量。
-
降低门槛:提供实验管理工具,除算法以外,其他有实验需求的如产品、运营、前端等都可以独立申请发布实验。
-
建立闭环:从想法、实验前线下评估、发布实验、实验进行、实验评估、最后实验总结,确保实验结果的质量。
系统架构和模块说明
一. 系统整体架构
架构整体可以划分为三个系统,如下图所示。
接下来对各个子系统进行详细的介绍。
1. 实验配置管理发布系统
此系统给用户提供便捷的UI操作界面,方便用户添加实验配置流量,然后动态地在线发布。为了弥补各种不可预期的错误,该系统支持历史版本的快速回滚。
2. 在线服务系统
根据用户的实验配置文件,进行分流处理,给各个实验分配相应的流量。实验分流模块以库的方式接入在线服务系统。在系统的流量入口处调用此分流库。后续会详细介绍分流的原理和作系统进行实验的方法。
3. 日志分析展示系统
根据在线服务系统记录的日志,统计出各个实验的效果,供系统分析师或实验观察者使用。然后根据实验的效果,使用实验管理系统去调整各个实验流量的占比。
二. 各模块介绍