文档

PAI-Rec 引擎配置热加载

PAI-Rec 运行离不开灵活的配置,之前的做法都是配置文件与代码进行打包编译出镜像,然后在 EAS 上进行部署。如果只是更新配置的话,也需要重新编译进行,然后进行部署。频繁的部署会对线上服务造成一定的影响。借助于配置中心的配置功能,PAI-Rec 引擎会动态的热加载最新的配置而无需重新发布服务。

前提

  1. 熟悉 PAI-Rec 引擎的相关配置,参考配置总览

  2. 搭建配置中心,相关部署参考部署。

  3. 熟悉配置中心的 PAI-Rec 配置管理功能,参考pairec 推荐引擎配置管理。

运行引擎服务

在部署到 EAS 之前会测试服务,之前测试服务这样运行

PAIREC_ENVIRONMENT=prepub ./pairec-demo --config=conf/config.json.production -alsologtostderr

如果需要配置的热加载功能,需要这样运行

PAIREC_ENVIRONMENT=daily  CONFIG_NAME=pairec_config ABTEST_HOST=http://xxxx/api/predict/pairec_experiment ABTEST_TOKEN=xxx ./pairec-demo --alsologtostderr

从这里看到无需指定配置文件,但是有几个环境变量需要设置

  • PAIREC_ENVIRONMENT 运行环境,取值为:日常-daily, 预发-prepub, 生产-product。 这里的环境需要与配置中心配置的环境对应起来

  • CONFIG_NAME 配置名称, 与配置中心里的配置名称对应

  • ABTEST_HOST 配置中心部署在EAS 上的地址

  • ABTEST_TOKEN 配置中心部署在 EAS 的访问 Token

EAS 部署

详细的服务部署参考部署服务。这里需要修改下 service.json。 需要注意的是, ABTEST_HOST 需要配置的 VPC 地址。

{
    "containers":[
        {
            "image":"mybigpai-registry-vpc.cn-beijing.cr.aliyuncs.com/mybigpai/pairec_base:1.0.0",
             "env":
            [
                    {
                            "name":"PAIREC_ENVIRONMENT",
                            "value":"product"
                    },
                    {
                            "name":"CONFIG_NAME",
                            "value":"pairec_config"
                    },
                    {
                            "name":"ABTEST_HOST",
                            "value":"xxx"
                    },
                    {
                            "name":"ABTEST_TOKEN",
                            "value":"xxx"
                    }
            ],
            "command":"/usr/bin/rec_entrypoint.sh",
            "port":8000
        }
    ],
    "dockerAuth":"xxxx",
    "metadata":{
        "cpu":4,
        "instance":1,
        "memory":8000,
        "resource":"xxxx"
  },
  "name":"pairec_eas_test"
}
  • 本页导读 (0)
文档反馈