产品架构

本文为您介绍ABTest的整体链路架构以及实验的演化流程。

ABTest整体链路架构

image
  1. 您可以使用阿里云ABTest Web控制台进行实验和实验指标等相关配置。

  2. ABTest提供Go或Java SDK,您可以在其服务端引用该SDK。SDK会轮询拉取实验等相关的元数据信息,并在使用时根据提供的访问上下文信息进行分流,获取到实验等相关的配置信息,然后根据返回的配置执行相关的业务逻辑。

  3. 您可以注册MaxCompute日志表(即来源数据表),系统会将该日志表注册到ABTest Server中。APP产生各种行为日志后,会通过埋点方式将数据回流到MaxCompute日志表中。您在控制台配置实验指标时,如果日志表内容是近实时产生的,则实验指标可以同时生成小时级和天级的指标,并将指标存储到ABTest服务的Hologres存储中。

  4. 您可以在ABTest Web控制台查看实验相关的报表数据。

实验的演化流程

  • 单层实验:创建项目后,系统将自动创建默认的域和层,您可以在默认的层上创建实验。实验可以获取层上的所有流量,也可以通过随机设置获取部分流量。实验包括多个实验版本,每个版本可通过设置流量百分比来划分实验的总流量。

    image
  • 多层实验:单层实验可以扩展成多层,且每个层上的流量是正交的,因此每个层上都可以设置实验。

    image
  • 结合层与域可以灵活进行流量的划分。一个层可以包含多个域,而一个域也可以创建多个层,如上图所示。在多层的流量实验中,有时候会进行打通实验,或者在单独一个层上进行实验。您可以进行如下设置:

    image