操作场景
本文通过一个 demo 进行 gRPC-Go 应用接入Polaris(北极星)的全流程操作演示,帮助您快速了解如何使用北极星网格。
前提条件
本地编译构建打包机器环境已安装了 Go,并且能够使用 Go mod 拉取依赖。 根据您自身的业务,已准备好业务部署的资源,虚拟机部署、容器化部署和 TEM 部署选择其中一种方式即可。
操作步骤
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 分别在consumer和provider这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 实例。
执行启动命令进行启动:
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