Skip to content

路由表

dylanxu edited this page Feb 17, 2020 · 10 revisions

如图所示,FATE-Serving的在线预测功能,需要通过Guest和Host双方对模型数据样本进行联合预测,Guest方与Host方的交互,就是双方的serving-proxy组件通过grpc的UnaryCall接口进行交互,其中交互的路由规则,是通过路由表(route_table.json)来配置。

当启用ZK服务治理时,服务启动都会在ZK中注册相应的内容,serving-proxy组件转发时会优先从ZK中去查找目标地址,没有找到目标地址时,则会从路由表中查找,未启动ZK服务治理时,直接查询路由表。

route_table.json 配置

{
  "route_table": {
    "default": {
      "default": [
        // 此处用于配置serving-proxy对外转发地址,如Host方serving-proxy的grpc服务地址
        {
          "ip": "127.0.0.1",
          "port": 9999
        }
      ]
    },
    // 以下部分为当前serving-proxy所在节点(Party)路由规则,10000为PartyID,
    // 当前serving-proxy组件配置中的coordinator参数也应设置为PartyID,查找路由时会通过此参数在路由表中查询
    "10000": {
      // 在未找到对应role的路由地址时,会使用default的配置
      "default": [
        {
          "ip": "127.0.0.1",
          "port": 8889
        }
      ],
      // serving为所部署的serving-server所配置的serviceRoleName参数
      // 当使用ZK为注册中心时,优先从ZK中获取目标地址,未找到时从此路由表中查询
      "serving": [
        // 此处配置同一Party对应serving集群地址,ip和port对应serving-server所启动的grpc服务地址
        {
          "ip": "127.0.0.1",
          "port": 8080
        }
      ]
    }
  },
  // 此处配置当前路由表规则开启/关闭
  "permission": {
    "default_allow": true
  }
}

Clone this wiki locally