专栏名称: 聊聊架构
在这里煮酒聊架构。
目录
相关文章推荐
美团技术团队  ·  可信实验白皮书系列04:随机轮转实验 ·  3 天前  
美团技术团队  ·  可信实验白皮书系列03:随机对照实验 ·  3 天前  
架构师之路  ·  爸爸!除了你,沈括,沈万三... ... ·  4 天前  
51好读  ›  专栏  ›  聊聊架构

如何实现多实验并行迭代,谈阿里妈妈的A/B测试实践

聊聊架构  · 公众号  · 架构  · 2016-09-25 19:38

正文

请到「今天看啥」查看全文


一. 系统整体架构

架构整体可以划分为三个系统,如下图所示。

接下来对各个子系统进行详细的介绍。

1. 实验配置管理发布系统

此系统给用户提供便捷的UI操作界面,方便用户添加实验配置流量,然后动态地在线发布。为了弥补各种不可预期的错误,该系统支持历史版本的快速回滚。

2. 在线服务系统

根据用户的实验配置文件,进行分流处理,给各个实验分配相应的流量。实验分流模块以库的方式接入在线服务系统。在系统的流量入口处调用此分流库。后续会详细介绍分流的原理和作系统进行实验的方法。

3. 日志分析展示系统

根据在线服务系统记录的日志,统计出各个实验的效果,供系统分析师或实验观察者使用。然后根据实验的效果,使用实验管理系统去调整各个实验流量的占比。

二. 各模块介绍

1. 实验配置管理发布系统

(1) 实验场景。广告系统中,实验是针对某一批广告位或者特定页面进行的。针对PID(标记广告的位置信息)或页面来对流量进行分类就成了一个强需求。将这样一批广告位定义为一个实验场景。Web操作页面上需要提供配置实验场景的UI界面,用户可以在这个界面上新建一个场景,指定符合某些PID要求或者URL要求的请求进入相应的实验场景,UI界面如下所示。

在此页面上,用户可以方便地添加一个新场景,并指定该场景的入口PID(入口PID可以设定多个)。

(2) 实验分层和流量切分。进入某个实验场景后,通过分多层来达到流量的复用。每一层的流量均是流入这个场景流量的一个全集。每一层的流量可以按用户指定的切分标记进行分桶切流。

一层可以看成是多个实验的集合,实验分层的原则如下:

  • 相互之间没有影响的实验可以分到不同层。

  • 相互之间有影响的实验分到同一层。

由于互不影响的实验被分配到了不同的层,从而达到复用流量的目的。相互之间有影响的实验分到同一层,则保证了同一请求不会去作两个互斥的实验。







请到「今天看啥」查看全文