就近访问使用指南

最近更新时间:2024-01-22 16:19:31

我的收藏

操作场景

本文通过一个 demo 进行 Golang 应用接入微服务引擎托管的 PolarisMesh 治理中心的全流程操作演示,帮助您快速了解如何使用北极星网格的就近路由能力。

前提条件

已创建 PolarisMesh 北极星网格,请参见 创建 PolarisMesh 治理中心
下载 Github 的 demo 源码 到本地并解压。
本地编译构建打包机器环境已安装了 golang 环境,并且能够访问 Github。
根据您自身的业务,已准备好业务部署的资源,虚拟机部署和容器化部署选择其中一种方式即可。
虚拟机部署已创建 CVM 虚拟机,请参见 创建 CVM 虚拟机
容器化部署已创建 TKE 容器集群,请参见 创建 TKE 集群

操作步骤

1. 登录 TSE 控制台
2. 北极星网格下的 polarismesh 页面,单击页面左上方下拉列表,选择目标地域。
3. 单击目标引擎的“ID”,进入基本信息页面。
4. 查看访问地址,Golang 应用访问使用 gRPC 端口(8091):


5. 修改 demo 中的注册中心地址:
5.1 在下载到本地的 demo 源码 目录下,分别找到nearby/consumer/polaris.yaml以及nearby/provider/polaris.yaml文件。
5.2 添加微服务引擎北极星网格地址到项目配置文件中(这里以nearby/consumer/polaris.yaml为例)。
global:
serverConnector:
addresses:
- 10.0.4.6:8091
location:
# 设置 polaris-go 进程地理信息的提供插件为 腾讯云 插件
# 如果当前进程在CVM或者TKE中,则能够自动获取当前进程所在的位置信息
#
# 如果自动获取失败,则可以设置插件为 env,然后在 linux中注入以下环境变量
# POLARIS_INSTANCE_ZONE: 设置 zone 信息, 例如 ap-guangzhou
# POLARIS_INSTANCE_CAMPUS: 设置 IDC 信息, 例如 ap-guangzhou-3
provider: qcloud
consumer:
serviceRouter:
# 服务路由链
chain:
# 基于主调和被调服务规则的路由策略(默认的路由策略)
- ruleBasedRouter
# 就近路由策略
- nearbyBasedRouter
#描述:服务路由插件的配置
plugin:
nearbyBasedRouter:
#描述:就近路由的最小匹配级别
#范围:region(大区)、zone(区域)、campus(园区)
matchLevel: campus
6. 部署 provider 和 consumer 微服务应用。详情请参见 Polaris-Golang Demo 部署
7. 进入前面提到的微服务引擎北极星网格实例页面。
选择服务管理 > 服务列表,查看微服务 RouteNearbyEchoServer 的实例数量。
若实例数量值不为0,则表示已经成功接入微服务引擎。
若实例数量为0,或者找不到 RouteNearbyEchoServer 服务名,则表示微服务应用接入微服务引擎失败。


开启 RouteNearbyEchoServer 的就近路由。


确认 consumer 所在 CVM(容器POD)的腾讯云位置信息。
调用 consumer 的 HTTP 接口,执行 http 调用,其中${app.port}替换为 consumer 的监听端口(默认为18080),${add.address}则替换为 consumer 暴露的地址。
curl -L -X GET 'http://${add.address}:${app.port}/echo'
预期返回值:Hello, I'm RouteNearbyEchoServer Provider, MyLocInfo's : xxx, host : xxx:xxx