操作场景
Mesh 应用支持 Go/Python/C++ 等不同编程语言,通过 Service Mesh 技术接入 TSF,无需修改代码,支持全套 TSF 服务治理能力。如果您想了解如何实现微服务应用的相关功能,请参见 Mesh 应用开发。
为了帮助您快速体验如何在 TSF 中部署微服务应用,TSF 提供了一组 Mesh 应用 Demo,包含 user、shop 和 promotion 三个应用。本文以一个示例介绍如何在虚拟机环境中部署 Service Mesh 应用,并实现简单的服务调用。
前提条件
部署应用
步骤1:新建应用
1. 登录 腾讯微服务平台控制台。
2. 选择好地域后,在左侧导航栏选择应用管理 > 业务应用,进入应用列表页。
3. 在应用列表上方单击新建。
4. 设置应用信息。
应用名:填写 consul-provider。
部署方式:选择 虚拟机部署。
开发语言:选择 其他语言(PHP、C++等)。
开发框架:选择 其他框架。
标签:非必选,用于分类管理资源。详细管理方法可参见 标签。
备注:选填,可留空。
数据集:非必选,您可以通过数据集管理配置不同的子账号和协作者使用不同资源的权限,详情参阅 数据集管理。
5. 单击下一步,配置注册配置治理方式。
注册配置治理:开启。关闭后,表示该应用不接入注册配置治理中心,不会进行服务注册和配置管理。
实例类别:选择共享实例(TSF-Consul)。
接入方式:选择 Mesh接入。
实现方式:选择 TSF Mesh。
服务配置:选择 使用本地Sepc.yaml。
6. 单击完成。
步骤2:部署应用
1. 在应用详情页,单击应用部署,设置部署组信息。
集群:选择提前创建好的集群。
命名空间:选择集群关联的默认命名空间。
部署组名称:部署组的名称,不超过60个字符。
标签:用于分类管理资源,可不选。详情参见 标签。
备注:选填,可留空。
2. 单击下一步,从关联集群的可用云主机列表勾选用于部署的云主机。
3. 单击部署应用,设置部署信息。


选择实例:选择需要进行应用部署的云主机。
软件仓库:选择官网Demo(公共仓库)。
程序包类型:选择 zip/tar.gz。
JDK 版本:选择KONA JDK8。
程序包/版本:选择程序包名称为
userService.tar.gz
的程序包。JAVA_OPT:选填。
启动脚本配置:选择使用本地start.sh和stop.sh。
健康检查:可选。详情参见 健康检查。
描述:选填。
4. 单击下一步,进入发布策略,选择立即部署。
5. 单击下一步,进入服务注册配置&可观测,确认注册配置治理配置内容正确,并按需进行可观测配置。
6. 单击发布,进入应用部署流程。可查看执行进度。

7. 应用部署成功后,部署组中已启动/总机器数的数值发生变化。
验证服务调用
重复步骤1和步骤2,同一个集群和命名空间中部署 user、shop 和 promotion 三个应用。user、shop、promotion 三个服务的接口间调用关系如下:


对应的服务名和应用监听端口为:user (8089),shop (8090)和 promotion (8091)。
用户可以登录虚拟机集群 VPC 下的任一机器,然后通过
curl
命令验证 user 服务是否健康,以及触发 user 服务调用 shop 和 promotion 服务。方式1:使用公网访问验证服务调用
1. 进入 资源管理 > 虚拟机集群 > 集群 ID,在集群云主机列表页面,获取 user 服务所在云服务器的公网IP。


2. 使用浏览器访问 consumer 应用的 URL 并触发 user 服务调用 shop 和 promotion 服务。格式为
http://<云服务器实例公网IP>:8089/api/v6/user/account/query
,返回结果如下:

方式2:登录云服务器验证服务间调用
1. 进入 资源管理 > 虚拟机集群 > 集群 ID,在集群云主机列表页面,单击 user 服务所在云服务器操作栏的登录,输入登录密码,登录云服务器。

2. 执行 curl 命令调用 user 服务接口。
curl localhost:<user端口>/api/v6/user/account/query
调用结果如下:

或者执行 curl 命令调用 shop 服务接口(注意使用服务名来调用)。
curl shop:<shop端口>/api/v6/shop/order
调用结果如下


查看服务依赖拓扑图
1. 前往 TSF-Consul,选择服务治理,选择创建集群和命名空间后,可以看到 user、shop 和 promotion 服务的运行状况。
2. 服务状态为单点在线,表示服务被代理注册成功。服务提供者的请求量大于0,请求成功率为100%,表示服务提供者被服务消费者请求成功。

3. 在服务治理页面,单击 shop 服务的“ID”,进入服务详情页面,可以看到三个服务的依赖关系。
