ABT架构设计

作者: jacksu在简书 | 来源:发表于2019-04-11 19:10 被阅读4次

    背景

    策略或算法需要在线上不断上线,不断优化,优化之后怎么确定是好是坏。这时就需要ABTest来确定,最近想的办法、优化的算法、优化的逻辑数据是正向的,是有意义的,是提升数据效果的。

    ab需求能方便测试,提供界面快速调整流量,调整流量后能够方便看效果变化,以及不同ab分支算法对比到底是a算法好、还是b算法好、还是c算法好。再有就是白名单配置上线新算法时,实现新算法上线测试,验证程序是否正确。

    根据ABtest需求,系统有三部分构成。

    • 配置管理平台: 用于管理每个ab需求。
    • ABTest实时分流服务: 根据用户设备信息、用户信息进行ab分流。
    • 实时效果分析: 将分流后程序点击、浏览、转化通过统计后,在BI平台上进行展示。

    配置管理

    配置管理利用现在的Apollo配置平台,以json格式进行配置,每个业务详细配置如下:

    {
      "layers": [
        {
          "id":10001,
          "name": "search",
          "is_stop":false,
          "experiments": [
            {
              "name": "searchA",
              "id":11,
              "weight": 20
            {
              "name": "searchB",
              "id":22,
              "weight": 10
            }
          ]
        },
        {
          "id":10002,
          "name": "ctr",
          "is_stop":false,
          "experiments": [
            {
              "name": "v1",
              "id":1,
              "weight": 50
            },
            {
              "name": "v3",
              "id":3,
              "weight": 50
            }
            ]
        },
        {
          "id":10003,
          "name": "bid",
          "is_stop":false,
          "experiments": [
            {
              "name": "v3",
              "id":3,
              "weight": 100
            }
            ]
        }
      ]
    }
    

    实时分流服务

    考虑延迟性,ABT以SDK方式提供服务

    image.png

    实时效果分析

    ABT相关信息打印在ABT的log中,基于开源组件实现可视化。下面是数据可视化数据流:

    数据流
    实时数据可视化效果

    如有疑问,欢迎关注下面公众号进行交流。

    image.png

    参考

    Google 重叠实验框架:更多,更好,更快地实验

    互联网AbTest系统设计思考

    相关文章

      网友评论

        本文标题:ABT架构设计

        本文链接:https://www.haomeiwen.com/subject/fsexwqtx.html