操作场景
本文通过一个 demo 进行应用使用
polaris-java
接入微服务引擎托管的 Polaris(北极星)的全流程操作演示,帮助您快速了解如何使用北极星网格。前提条件
已创建 Polaris(北极星)实例,请参见 创建 Polaris(实例)。
下载 Github 的 demo 源码 到本地并解压。
本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问 Maven 中央库。
根据您自身的业务,已准备好业务部署的资源,
虚拟机部署
、容器化部署
和 TEM 部署
选择其中一种方式即可。虚拟机部署已创建 CVM 虚拟机,请参见 创建 CVM 虚拟机。
容器化部署已创建 TKE 容器集群,请参见 创建 TKE 集群。
TEM部署已创建 TEM 环境,请参见 创建 TEM 环境。
操作步骤
1. 登录 TSF 控制台。
2. 在左侧导航栏选择Polaris(北极星),进入北极星实例引擎列表页后单击目标实例进入实例信息页。
3. 在引擎管理-实例信息页查看访问地址,polaris-java 应用访问使用 gRPC 端口(8091):


4. 修改 demo 中的注册中心地址。
4.1 在下载到本地的 demo 源码目录 下,分别找到
quickstart-example\\quickstart-example-provider\\src\\main\\resources\\polaris.yml
和quickstart-example\\quickstart-example-consumer\\src\\main\\resources\\polaris.yml
两个文件。4.2 添加微服务引擎北极星网格地址到项目配置文件中(以
quickstart-example\\quickstart-example-consumer\\src\\main\\resources\\polaris.yml
为例)。global:serverConnector:addresses:- 10.0.4.6:8091
5. 打包 demo 源码成 jar 包。
5.1 在
quickstart-example
源码根目录下,打开 cmd 命令,执行 mvn clean package 命令,对项目进行打包编译。5.2 编译成功后,生成如下表所示的2个 Jar 包。
软件包所在目录 | 软件包名称 | 说明 |
\\quickstart-example\\quickstart-example-provider\\target | quickstart-example-provider-${version}-SNAPSHOT.jar | 服务生产者 |
\\quickstart-example\\quickstart-example-consumer\\target | quickstart-example-consumer-${version}-SNAPSHOT.jar | 服务消费者 |
6. 部署 provider 和 consumer 微服务应用,根据您业务实际选择虚拟机部署、容器化部署以及 TEM 部署中的一种部署方式即可。
6.1 虚拟机部署
上传 Jar 包至 CVM 实例。
执行启动命令进行启动:
nohup java -jar [jar包名称] &
6.2 容器化部署
编写 dockerfile 生成镜像,参考:
FROM java:8ADD ./quickstart-example-provider-${VERSION}.jar /root/app.jarENTRYPOINT ["java","-jar","/root/app.jar"]
通过 TKE 部署并运行镜像。
6.3 TEM 部署
选择 TEM 环境,注意所选择的环境,其依赖的 VPC,必须和上面已经创建的北极星网格实例所依赖的 VPC 一致:

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


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


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


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


7.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