有奖:语音产品征文挑战赛火热进行中> HOT

操作场景

本文针对用户接入微服务引擎托管的 PolarisMesh 治理中心希望使用北极星客户端的二次寻址能力。
说明
如果您使用的是腾讯自研上云(OA 版)北极星 SDK,由于 OA 版 SDK默认开启了二次寻址机制(且无法关闭),请参考本文档接入。

接入机制说明

北极星 SDK 二次寻址

北极星 SDK 的二次寻址机制依赖 polaris.discover 以及 polaris.healthcheck 这2个服务。因此需要在北极星引擎实例创建出来后,需在控制台手动创建 polaris.discover 以及 polaris.healthcheck 这两个服务。

为何需要用户手动创建

用户接入方式存在多 VPC、公网接入两类场景。不同的接入侧用户需要看到不同的服务端IP,无法自动创建相关北极星系统服务。

前提条件

已创建 PolarisMesh 服务治理中心,请参见 创建 PolarisMesh 治理中心

操作步骤

1. 登录 TSE 控制台
2. 治理中心下的 polarismesh 页面,单击页面左上方下拉列表,选择目标地域。
3. 单击目标引擎的“ID”,进入基本信息页面。
4. 根据实例信息的控制台

引擎实例未开启客户端公网访问

创建 polaris.discover 以及 polaris.healthcheck 服务
1. 在实例的基本信息页面中,记住访问地址中的每个 VPC 内网 IP 地址以及访问端口。

2. 针对每一个内网 VPC 的 IP 地址,在命名空间 Polaris 下创建服务 polaris.discover-{vpc 名称} 以及 polaris.healthcheck-{vpc 名称}

3. 单击服务 polaris.discover-{vpc 名称},进入到服务的实例页面,根据对应上述第一步所记录的 VPC 内网 IP 地址以及端口协议 grpctrpc 分别创建实例。

4. 单击服务 polaris.healthcheck-{vpc 名称},进入到服务的实例页面,根据对应上述第一步所记录的 VPC 内网 IP 地址以及端口协议 grpctrpc 分别创建实例。

5. 按照上述步骤的操作,最终服务 polaris.discover-{vpc 名称}的实例列表如下:

6. 按照上述步骤的操作,最终服务 polaris.healthcheck-{vpc 名称}的实例列表如下:

注意:
如果只是单VPC接入的场景,则无需参考 polaris.discover-{vpc 名称} 这种命名规则,直接使用 polaris.discover 即可,polaris.healthcheck-{vpc 名称} 也直接使用 polaris.healthcheck 即可。
创建路由规则
创建路由规则示例
polaris.discover-{vpc 名称}

polaris.healthcheck-{vpc 名称}

polaris-cpp 接入相关配置文件说明
polaris.yaml中按照下面示例进行配置二次寻址:
global:
system:
discoverCluster:
namespace: Polaris
service: 'polaris.discover-{vpc 名称}'
refreshInterval: 10m
healthCheckCluster:
namespace: Polaris
service: 'polaris.healthcheck-{vpc 名称}'
refreshInterval: 10m
serverConnector:
addresses:
- '{对应 vpc 的内网接入地址}:8091'
trpc-cpp 接入相关配置文件说明
plugins:
selector:
polaris:
global:
system:
discoverCluster:
namespace: Polaris
service: 'polaris.discover-{vpc 名称}'
healthCheckCluster:
namespace: Polaris
service: 'polaris.healthcheck-{vpc 名称}'
serverConnector:
refresh_interval: 10000
protocol: trpc
timeout: 2000
address_list: '{对应 vpc 的内网接入地址}:8092'
transport: coroutine
async_transport: future_trpc
registry:
polaris:
global:
system:
discoverCluster:
namespace: Polaris
service: 'polaris.discover-{vpc 名称}'
healthCheckCluster:
namespace: Polaris
service: 'polaris.healthcheck-{vpc 名称}'
serverConnector:
refresh_interval: 10000
protocol: trpc
timeout: 2000
address_list: '{对应 vpc 的内网接入地址}:8092'
transport: coroutine
async_transport: future_trpc

引擎实例开启客户端公网访问

创建 polaris.discover 以及 polaris.healthcheck 服务
1. 在实例的基本信息页面中,记住访问地址中的公网 IP 地址以及访问端口。

2. 在命名空间 Polaris下创建服务 polaris.discover 以及 polaris.healthcheck。

3. 单击服务 polaris.discover,进入到服务的实例页面,根据客户端公网访问IP地址以及端口协议 grpctrpc 分别创建实例。

4. 单击服务 polaris.healthcheck,进入到服务的实例页面,根据客户端公网访问 IP 地址以及端口协议 grpctrpc 分别创建实例。

5. 按照上述步骤的操作,最终服务 polaris.discover 的实例列表如下:

6. 按照上述步骤的操作,最终服务 polaris.healthcheck 的实例列表如下:

创建路由规则
polaris.discover

polaris.healthcheck

polaris-cpp 接入相关配置文件说明
polaris.yaml 中按照下面示例进行配置二次寻址:
global:
system:
discoverCluster:
namespace: Polaris
service: polaris.discover
refreshInterval: 10m
healthCheckCluster:
namespace: Polaris
service: polaris.healthcheck
refreshInterval: 10m
serverConnector:
addresses:
- '{对应公网接入地址}:8091'
trpc-cpp 接入相关配置文件说明
plugins:
selector:
polaris:
global:
system:
discoverCluster:
namespace: Polaris
service: polaris.discover
healthCheckCluster:
namespace: Polaris
service: polaris.healthcheck
serverConnector:
refresh_interval: 10000
protocol: trpc
timeout: 2000
address_list: '{对应公网接入地址}:8092'
transport: coroutine
async_transport: future_trpc
registry:
polaris:
global:
system:
discoverCluster:
namespace: Polaris
service: polaris.discover
healthCheckCluster:
namespace: Polaris
service: polaris.healthcheck
serverConnector:
refresh_interval: 10000
protocol: trpc
timeout: 2000
address_list: '{对应公网接入地址}:8092'
transport: coroutine
async_transport: future_trpc