有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

操作场景

本文通过一个 demo 进行 gRPC-Go 应用接入微服务引擎托管的 PolarisMesh 北极星网格的全流程操作演示,帮助您快速了解如何使用北极星网格。

前提条件

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

操作步骤

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


5. 修改 demo 中的注册中心地址。
5.1 在下载到本地的 demo 源码目录 下,分别找到 \\examples\\quickstart\\provider\\polaris.yaml\\examples\\quickstart\\consumer\\polaris.yaml两个文件。
5.2 添加微服务引擎北极星网格地址到项目配置文件中(以\\examples\\quickstart\\provider\\polaris.yaml为例)。
global:
serverConnector:
addresses:
- '10.0.4.6:8091'
6. 将源码编译成可执行程序。
6.1 分别在consumerprovider这2个目录下,打开 cmd 命令,执行以下命令,对项目进行编译:
编译 consumer:CGO_ENABLED=0 go build -ldflags "-s -w" -o consumer
编译 provider:CGO_ENABLED=0 go build -ldflags "-s -w" -o provider
6.2 编译成功后,生成如下表所示的2个二进制包。
软件包所在目录
软件包名称
说明
\\examples\\quickstart\\provider
provider
服务生产者
\\examples\\quickstart\\consumer
consumer
服务消费者
7. 部署 provider 和 consumer 微服务应用,根据您业务实际选择虚拟机部署容器化部署以及 TEM 部署中的一种部署方式即可。
7.1 虚拟机部署
上传 Jar 包至 CVM 实例。
执行启动命令进行启动:
nohup [二进制名称] &
7.2 容器化部署
编写 dockerfile 生成镜像,参考:
FROM golang:alpine
WORKDIR /root
ADD . /root
ENTRYPOINT ./[二进制名称]
通过 TKE 部署并运行镜像。
7.3 TEM 部署
选择 TEM 环境,注意所选择的环境,其依赖的 VPC,必须和上面已经创建的北极星网格实例所依赖的 VPC 一致:


在已选择的环境中,新建TEM应用,相关参数填写参考:


部署应用,相关参数填写请参考(端口号映射,consumer 默认端口号为16011,provider默认端口号为16010):


查看访问路径,consumer 应用部署完后,可以在基本信息 > 访问配置中查看访问地址,如需公网访问,可以编辑并更新开启公网访问:


8. 确认部署结果。
8.1 进入前面提到的微北极星网格实例页面。
选择服务管理 > 服务列表,查看微服务 EchoServerGRPC(provider)的实例数量:
若实例数量值不为0,则表示已经成功接入微服务引擎。
若实例数量为0,或者找不到 EchoServerGRPC 服务名,则表示微服务应用接入微服务引擎失败。


8.2 调用 consumer 的 HTTP 接口。执行 http 调用,其中${app.port}替换为 consumer 的监听端口(默认为16011),${add.address}则替换为 consumer 暴露的地址。
curl -L -X GET 'http://${add.address}:${app.port}/echo?value=hello_world'
预期返回值:echo: hello_world