操作场景
本文针对用户接入微服务引擎托管的 PolarisMesh 治理中心希望使用北极星客户端的二次寻址能力。
警告:
如果您使用的是腾讯自研上云(OA 版)北极星 SDK,由于 OA 版 SDK 默认开启了二次寻址机制(且无法关闭),请参见本文档接入。
当前仅针对腾讯自研上云(OA 版)北极星 SDK 的注册发现能力做了兼容性验证,其他治理能力无兼容性保证。
接入机制说明
北极星 SDK 二次寻址
北极星 SDK 的二次寻址机制依赖 polaris.discover 以及 polaris.healthcheck 这2个服务。因此需要在北极星引擎实例创建出来后,需在控制台手动创建 polaris.discover 以及 polaris.healthcheck 这两个服务。
为何需要用户手动创建
用户接入方式存在多 VPC、公网接入两类场景。不同的接入侧用户需要看到不同的服务端 IP,无法自动创建相关北极星系统服务。
前提条件
操作步骤
1. 登录 TSE 控制台。
2. 在治理中心下的 polarismesh 页面,单击页面左上方下拉列表,选择目标地域。
3. 单击目标引擎的“ID”,进入基本信息页面。
4. 根据实例信息的控制台。
引擎实例未开启客户端公网访问
创建 polaris.discover 以及 polaris.healthcheck 服务
1. 在实例的基本信息页面中,记住访问地址中的每个 VPC 内网 IP 地址以及访问端口。
![](https://qcloudimg.tencent-cloud.cn/image/document/ba6178c24a19e4384b7d7d88109b7dd0.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/ba6178c24a19e4384b7d7d88109b7dd0.png)
2. 针对每一个内网 VPC 的 IP 地址,在命名空间 Polaris 下创建服务 polaris.discover-{vpc 名称} 以及 polaris.healthcheck-{vpc 名称}。
![](https://qcloudimg.tencent-cloud.cn/image/document/d6992ec4b895f111be30863b5a108983.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/d6992ec4b895f111be30863b5a108983.png)
3. 单击服务 polaris.discover-{vpc 名称},进入到服务的实例页面,根据对应上述第一步所记录的 VPC 内网 IP 地址以及端口协议 grpc、trpc 分别创建实例。
![](https://qcloudimg.tencent-cloud.cn/image/document/3b5060e5c2715c8e3ecddd78f5d3c0b6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/3b5060e5c2715c8e3ecddd78f5d3c0b6.png)
4. 单击服务 polaris.healthcheck-{vpc 名称},进入到服务的实例页面,根据对应上述第一步所记录的 VPC 内网 IP 地址以及端口协议 grpc、trpc 分别创建实例。
![](https://qcloudimg.tencent-cloud.cn/image/document/e98e494e7519bb9102e92433ab7e7f06.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e98e494e7519bb9102e92433ab7e7f06.png)
5. 按照上述步骤的操作,最终服务 polaris.discover-{vpc 名称} 的实例列表如下:
![](https://qcloudimg.tencent-cloud.cn/image/document/fa8a3ca3d221a852031081d3ec3d335f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/fa8a3ca3d221a852031081d3ec3d335f.png)
6. 按照上述步骤的操作,最终服务 polaris.healthcheck-{vpc 名称} 的实例列表如下:
![](https://qcloudimg.tencent-cloud.cn/image/document/75e8764cb0001e2a141cf77655116d6e.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/75e8764cb0001e2a141cf77655116d6e.png)
注意:
如果只是单 VPC 接入的场景,则无需参考 polaris.discover-{vpc 名称} 这种命名规则,直接使用 polaris.discover 即可,polaris.healthcheck-{vpc 名称} 也直接使用 polaris.healthcheck 即可。
创建路由规则
创建路由规则示例
polaris.discover-{vpc 名称}
![](https://qcloudimg.tencent-cloud.cn/image/document/3d4a2b648de548e95756e8b1721d175f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/3d4a2b648de548e95756e8b1721d175f.png)
polaris.healthcheck-{vpc 名称}
![](https://qcloudimg.tencent-cloud.cn/image/document/db001379a6169ed66491358aa4dfae74.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/db001379a6169ed66491358aa4dfae74.png)
polaris-java 接入相关配置文件说明
polaris.yaml 中按照下面示例进行配置二次寻址:
global:serverConnector:addresses:- '{对应 vpc 的内网接入地址}:8091'system:discoverCluster:namespace: Polarisservice: 'polaris.discover-{vpc 名称}'sameAsBuiltin: falsehealthCheckCluster:namespace: Polarisservice: 'polaris.healthcheck-{vpc 名称}'sameAsBuiltin: false
spring-cloud-tencent 接入相关配置文件说明
修改 bootstrap.yaml 或者 bootstrap.properties 文件:
spring:cloud:polaris:address: '{对应 vpc 的内网接入地址}:8091'
在 resources 下创建 polaris.yml 文件。
按照下面示例进行配置二次寻址:
global:system:#服务发现集群discoverCluster:namespace: Polarisservice: 'polaris.discover-{vpc 名称}'sameAsBuiltin: false#健康检查集群healthCheckCluster:namespace: Polarisservice: 'polaris.healthcheck-{vpc 名称}'sameAsBuiltin: false
trpc-java 接入相关配置文件说明
plugins:registry:polaris:heartbeat_interval: 3000protocol: grpcaddress_list: '{对应 vpc 的内网接入地址}:8091'global:system:discoverCluster:namespace: Polarisservice: 'polaris.discover-{vpc 名称}'sameAsBuiltin: falsehealthCheckCluster:namespace: Polarisservice: 'polaris.healthcheck-{vpc 名称}'sameAsBuiltin: falseselector:polaris:protocol: grpcaddress_list: '{对应 vpc 的内网接入地址}:8091'global:system:discoverCluster:namespace: Polarisservice: 'polaris.discover-{vpc 名称}'sameAsBuiltin: falsehealthCheckCluster:namespace: Polarisservice: 'polaris.healthcheck-{vpc 名称}'sameAsBuiltin: false
引擎实例开启客户端公网访问
创建 polaris.discover 以及 polaris.healthcheck 服务
1. 在实例的基本信息页面中,记住访问地址中的公网 IP 地址以及访问端口。
![](https://qcloudimg.tencent-cloud.cn/image/document/9bc4e5b11197a93c02e496575c576dee.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9bc4e5b11197a93c02e496575c576dee.png)
2. 在命名空间 Polaris下创建服务 polaris.discover 以及 polaris.healthcheck。
![](https://qcloudimg.tencent-cloud.cn/image/document/5d7e3e728bc056253ebf79d4375dd045.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5d7e3e728bc056253ebf79d4375dd045.png)
3. 单击服务 polaris.discover,进入到服务的实例页面,根据客户端公网访问 IP 地址以及端口协议 grpc、trpc 分别创建实例。
![](https://qcloudimg.tencent-cloud.cn/image/document/db93ecc2d06ee336eceb3d143401ed0e.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/db93ecc2d06ee336eceb3d143401ed0e.png)
4. 单击服务 polaris.healthcheck,进入到服务的实例页面,根据客户端公网访问 IP 地址以及端口协议 grpc、trpc 分别创建实例。
![](https://qcloudimg.tencent-cloud.cn/image/document/bfb34383e95335ee8bef5fc1785011d3.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/bfb34383e95335ee8bef5fc1785011d3.png)
5. 按照上述步骤的操作,最终服务 polaris.discover 的实例列表如下:
![](https://qcloudimg.tencent-cloud.cn/image/document/804b11dc07e517f7a4c6d4fb8f42e1ba.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/804b11dc07e517f7a4c6d4fb8f42e1ba.png)
6. 按照上述步骤的操作,最终服务 polaris.healthcheck 的实例列表如下:
![](https://qcloudimg.tencent-cloud.cn/image/document/5eba5cc4e5d40f681460e3b9e9f1abf4.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5eba5cc4e5d40f681460e3b9e9f1abf4.png)
创建路由规则
polaris.discover
![](https://qcloudimg.tencent-cloud.cn/image/document/940a01918d78ec6a36c3fb2d1bc41f8d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/940a01918d78ec6a36c3fb2d1bc41f8d.png)
polaris.healthcheck
![](https://qcloudimg.tencent-cloud.cn/image/document/84126bb580a5934c829824ad37637969.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/84126bb580a5934c829824ad37637969.png)
polaris-java 接入相关配置文件说明
polaris.yaml 中按照下面示例进行配置二次寻址:
global:serverConnector:addresses:- '{对应公网接入地址}:8091'system:discoverCluster:namespace: Polarisservice: polaris.discoversameAsBuiltin: falsehealthCheckCluster:namespace: Polarisservice: polaris.healthchecksameAsBuiltin: false
spring-cloud-tencent 接入相关配置文件说明
修改 bootstrap.yaml 或者 bootstrap.properties 文件。
spring:cloud:polaris:address: '{对应公网接入地址}:8091'
在 resources 下创建 polaris.yml 文件。
按照下面示例进行配置二次寻址:
global:system:discoverCluster:namespace: Polarisservice: polaris.discoversameAsBuiltin: falsehealthCheckCluster:namespace: Polarisservice: polaris.healthchecksameAsBuiltin: false
trpc-java 接入相关配置文件说明
plugins:registry:polaris:heartbeat_interval: 3000protocol: grpcaddress_list: '{对应公网接入地址}:8091'global:system:discoverCluster:namespace: Polarisservice: polaris.discoversameAsBuiltin: falsehealthCheckCluster:namespace: Polarisservice: polaris.healthchecksameAsBuiltin: falseselector:polaris:protocol: grpcaddress_list: '{对应公网接入地址}:8091'global:system:discoverCluster:namespace: Polarisservice: polaris.discoversameAsBuiltin: falsehealthCheckCluster:namespace: Polarisservice: polaris.healthchecksameAsBuiltin: false