有奖捉虫:行业应用 & 管理与支持文档专题 HOT

操作场景

本文针对腾讯内部自研上云用户接入微服务引擎托管的 PolarisMesh 治理中心。

接入机制说明

北极星 SDK 二次寻址

北极星内部版本 SDK 接入时,由于SDK默认开启了二次寻址机制(且无法关闭),二次寻址机制依赖 polaris.discover 以及polaris.healthcheck 这2个服务。因此需要在公有云北极星引擎实例创建出来后,需在控制台手动创建 polaris.discover 以及polaris.healthcheck 这两个服务,使得 SDK 能够成功寻址。

为何需要用户手动创建

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

前提条件

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

操作步骤

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

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

北极星内部 SDK 接入

创建 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 名称}



SDK接入相关配置文件说明
polaris-go
polaris.yaml 中按照下面示例进行配置二次寻址:
global:
serverConnector: null
addresses:
- '{对应 vpc 的内网接入地址}:8091'
system: null
discoverCluster:
namespace: Polaris
service: 'polaris.discover-{vpc 名称}'
healthCheckCluster:
namespace: Polaris
service: 'polaris.healthcheck-{vpc 名称}'
polaris-java
polaris.yaml 中按照下面示例进行配置二次寻址:
global:
serverConnector:
addresses:
- '{对应 vpc 的内网接入地址}:8091'
system:
discoverCluster:
namespace: Polaris
service: 'polaris.discover-{vpc 名称}'
sameAsBuiltin: false
healthCheckCluster:
namespace: Polaris
service: 'polaris.healthcheck-{vpc 名称}'
sameAsBuiltin: false
polaris-cpp
polaris.yaml 中按照下面示例进行配置二次寻址:
global:
serverConnector:
addresses:
- '{对应 vpc 的内网接入地址}:8091'
system:
discoverCluster:
namespace: Polaris
service: 'polaris.discover-{vpc 名称}'
healthCheckCluster:
namespace: Polaris
service: 'polaris.healthcheck-{vpc 名称}'
spring-cloud-tencent
修改 bootstrap.yaml 或者 bootstrap.properties 文件:
spring:
cloud:
polaris:
address: '{对应 vpc 的内网接入地址}:8091'
resources 下创建 polaris.yml 文件。
按照下面示例进行配置二次寻址:
global:
system:
discoverCluster:
namespace: Polaris
service: 'polaris.discover-{vpc 名称}'
sameAsBuiltin: false
healthCheckCluster:
namespace: Polaris
service: 'polaris.healthcheck-{vpc 名称}'
sameAsBuiltin: false
trpc
plugins:
registry:
polaris:
heartbeat_interval: 3000
protocol: grpc
address_list: '{对应 vpc 的内网接入地址}:8091'
cluster_service:
discover: 'polaris.discover-{vpc 名称}'
health_check: 'polaris.healthcheck-{vpc 名称}'
selector:
polaris:
address_list: '{对应 vpc 的内网接入地址}:8091'
protocol: grpc
cluster_service:
discover: 'polaris.discover-{vpc 名称}'
health_check: 'polaris.healthcheck-{vpc 名称}'

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

北极星内部SDK接入

创建 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



SDK接入相关配置文件说明
polaris-go
polaris.yaml 中按照下面示例进行配置二次寻址:
global:
serverConnector:
addresses:
- '{对应公网接入地址}:8091'
system:
discoverCluster:
namespace: Polaris
service: polaris.discover
healthCheckCluster:
namespace: Polaris
service: polaris.healthcheck
polaris-java
polaris.yaml 中按照下面示例进行配置二次寻址:
global:
serverConnector:
addresses:
- '{对应公网接入地址}:8091'
system:
discoverCluster:
namespace: Polaris
service: polaris.discover
sameAsBuiltin: false
healthCheckCluster:
namespace: Polaris
service: polaris.healthcheck
sameAsBuiltin: false
polaris-cpp
polaris.yaml 中按照下面示例进行配置二次寻址:
global:
serverConnector:
addresses:
- '{对应公网接入地址}:8091'
system:
discoverCluster:
namespace: Polaris
service: polaris.discover
healthCheckCluster:
namespace: Polaris
service: polaris.healthcheck
spring-cloud-tencent
修改 bootstrap.yaml 或者 bootstrap.properties 文件。
spring:
cloud:
polaris:
address: '{对应公网接入地址}:8091'
resources下创建 polaris.yml 文件。
按照下面示例进行配置二次寻址:
global:
system:
discoverCluster:
namespace: Polaris
service: polaris.discover
sameAsBuiltin: false
healthCheckCluster:
namespace: Polaris
service: polaris.healthcheck
sameAsBuiltin: false
trpc
plugins:
registry:
polaris:
heartbeat_interval: 3000
protocol: grpc
address_list: '{对应公网接入地址}:8091'
cluster_service:
discover: polaris.discover
health_check: polaris.healthcheck
selector:
polaris:
address_list: '{对应公网接入地址}:8091'
protocol: grpc
cluster_service:
discover: polaris.discover
health_check: polaris.healthcheck