操作场景
为了帮助您快速体验如何在 TSF 中部署微服务应用,TSF 提供了一对应用 Demo,包含一个 provider 应用和一个 consumer 应用。本文以一个示例介绍如何在虚拟机环境中部署 Spring Cloud 原生应用,并实现简单的服务调用。
前提条件
已参见 快速创建一个虚拟机集群 创建好一个虚拟机集群并导入可用的云主机。
已下载并解压 应用 Demo。
操作步骤
步骤1:新建应用
1. 进入 腾讯微服务平台控制台。
2. 在左侧导航栏,单击应用管理,确认所选地域后,选择业务应用,进入应用列表页。
3. 在应用列表上方单击新建。
4. 设置应用基本信息。
应用名:填写应用名,创建后名称不可修改。示例:consul-provider。
部署方式:选择 虚拟机部署。
开发语言:选择 JAVA。
开发框架:选择 SpringCloud。
标签:用于分类管理资源,可不选。详细管理方法可参见 标签。
备注:选填,可留空。
数据集:选填,用户可以通过数据集管理配置不同的子账号和协作者使用不同资源的权限,详细管理方法可参见 数据集管理。
5. 单击下一步,配置注册配置治理方式。
注册配置治理:开启。关闭后,表示该应用不接入注册配置治理中心,不会进行服务注册和配置管理。
实例类别:选择共享实例(TSF-Consul)。
接入方式:选择 Mesh 接入。
实现方式:选择原生应用。
6. 单击完成。
步骤2:上传程序包
1. 单击 步骤1 所创建应用的应用 ID,进入应用详情页,在制品卡片,单击上传程序包/镜像。
2. 在个人仓库上传程序包页面,上传程序包。
文件上传方式:选择 JAR包部署。
JDK 版本:选择使用的 JDK 版本。
上传程序包:单击选择文件,选择提前准备好的 Demo 中名为
consul-provider-0.1.1-SNAPSHOT
的程序包。(注意后续部署 consumer 应用时选择名为consul-consumer-0.1.1-SNAPSHOT
的程序包)程序包版本:填写版本号,或单击用时间戳作为版本号。
3. 单击上传程序包并制作镜像,我们将自动为您制作镜像并上传到镜像仓库,右上角将出现任务进行的状态。
4. 任务完成后,在镜像制品标签页的镜像列表中将看到上传好的镜像。

步骤3:部署应用
1. 单击 步骤1 所创建应用的应用 ID,进入应用详情页,单击应用部署,设置部署组信息。
集群:选择提前创建好的集群。
命名空间:选择集群关联的默认命名空间。
部署组名称:填写部署组的名称,填写 provider。
标签:用于分类管理资源,可不选。详情参考 标签。
备注:选填,可留空。
2. 单击下一步, 设置部署信息。
选择实例:选择需要进行应用部署的云主机。
软件仓库:选择官方Demo(公共仓库)。
程序包类型:选择 jar。
JDK 版本:选择 KONA JDK8。
程序包类型:选择 步骤2:上传镜像 中推送到镜像仓库的镜像版本。
JAVA_OPT:选填。
健康检查:可选。详情参见 健康检查。
描述:可选。
3. 单击下一步,进入发布策略,选择立即部署。
4. 单击下一步,进入服务注册配置&可观测,确认注册配置治理配置内容正确,并按需进行可观测配置。
5. 单击发布,进入应用部署流程。可查看执行进度。

6. 应用部署成功后,重新进入 应用管理, 单击对应的应用 ID,进入应用详情页,单击左侧导航栏的应用部署 > 部署组,查看已启动/总机器数的数值发生变化。
步骤4:验证服务调用
重复步骤1和步骤2,在同一个集群和命名空间下部署一个 consul-consumer 服务,可以通过以下两种方式访问触发 consul-consumer 服务调用 consul-provider 服务。
方式1:使用公网访问验证服务间调用
1. 进入 资源管理 > 虚拟机集群 > 集群 ID(需确认所选地域无误),在集群云主机列表页面,可以获取 consumer 服务所在云服务器的公网 IP。
2. 使用浏览器访问 consumer 应用的 URL 并调用 provider 服务,格式为
http://<云服务器实例公网IP>:8001/ping-provider
,返回结果如下:

方式2:登录云服务器验证服务间调用
1. 进入 资源管理 > 虚拟机集群 > 集群 ID(需确认所选地域无误),在集群云主机列表页面,单击 consumer 服务所在云服务器操作栏的登录,输入登录密码,登录云服务器。
2. 执行 curl 命令调用 consumer 服务。
curl localhost:8001/ping-provider
调用结果如下:


查看服务依赖拓扑图
1. 前往 TSF Consul,选择服务治理(需确认所选地域无误)。
2. 单击 consumer-demo 服务的“ID”,进入服务详情页面,可以看到两个服务的依赖关系。


上图两个服务的依赖关系表示:consumer-demo 调用了 provider-demo 服务,调用耗时15.9ms。