部署 Spring Cloud TSF 应用

最近更新时间:2025-07-24 15:23:22

我的收藏

操作场景

Spring Cloud 普通应用使用 TSF SDK 接入,支持 TSF 全栈服务治理、应用性能监控、应用配置管理能力。如果您想了解如何实现微服务应用的相关功能,请参见 Spring Cloud TSF 应用开发
为了帮助您快速体验如何在 TSF 中部署微服务应用,TSF 提供了一对应用 Demo,包含一个 provider 应用和一个 consumer 应用。本文以一个示例介绍如何在虚拟机环境中部署 Spring Cloud 普通应用,并实现简单的服务调用。

前提条件

已参见 快速创建一个虚拟机集群 创建好一个虚拟机集群并导入可用的云主机。
已下载并解压 Demo

操作步骤

步骤1:新建应用

2. 在左侧导航栏,单击应用管理,确认所选地域后,选择业务应用,进入应用列表页。
3. 在应用列表上方单击新建

4. 设置应用基本信息。



应用名:填写应用名,创建后名称不可修改。示例: provider-demo
部署方式:选择 虚拟机部署
开发语言:选择 JAVA
开发框架:选择 SpringCloud
标签:用于分类管理资源,可不选。详情管理方法可参见 标签
备注:选填,可留空。
数据集:非必选。您可以通过数据集管理配置不同的子账号和协作者使用不同资源的权限,详细管理方法可参见 数据集管理
5. 单击下一步,进行配置注册配置治理方式。
注册配置治理:开启。关闭后,表示该应用不接入注册配置治理中心,不会进行服务注册和配置管理。
实例类别:选择共享实例(TSF-Consul)
接入方式:选择 SDK/框架接入
6. 单击完成

步骤2:上传程序包

1. 单击 步骤1 所创建应用的应用 ID,进入应用详情页,在制品卡片,单击上传程序包
程序包类型:选择 jar包
上传程序包:单击选择文件,选择提前准备好的 Demo 中的对应的provider-demo-1.29.0-Finchley-RELEASE jar 程序包(注意后续部署 consumer 应用时应选择其对应名称的程序包)。
程序包版本:填写版本号,或单击用时间戳作为版本号
备注:填写备注,选填。
2. 单击确定,等待程序包上传完成。
3. 任务完成后,在应用详情页制品卡片的程序包列表中将看到上传好的程序包。




步骤3:部署应用

1. 在应用详情页,单击应用部署,设置部署组信息。
集群:选择提前创建好的集群。
命名空间:选择集群关联的默认命名空间。
部署组名称:填写部署组的名称,填写 provider。
标签:用于分类管理资源,可不选。详细管理方法可参考 标签
备注:选填,可留空。
2. 单击下一步, 设置部署信息。

选择实例:选择需要进行应用部署的云主机
软件仓库:选择默认仓库
程序包类型:选择 jar
JDK 版本:选择 KONA JDK8
程序包类型:选择名称为在 步骤2 上传的程序包。
JAVA_OPT:选填。
健康检查:可选。详情参见 健康检查
描述:选填。
3. 单击下一步,进入发布策略,选择立即部署。
4. 单击下一步,进入服务注册配置&可观测,确认注册配置治理配置内容正确,并按需进行可观测配置。
5. 单击发布,进入应用部署流程。可查看执行进度。

6. 应用部署成功后,重新进入 应用管理 确认所选地域后,单击对应的应用 ID,进入应用详情页,单击左侧导航栏的应用部署 > 部署组已启动/总机器数的数值发生变化。


步骤4:验证服务调用

重复步骤1到步骤3,在同一个集群和命名空间下部署一个 consumer-demo 服务,可以通过以下两种方式访问触发 consumer 服务调用 provider 服务。

方式1:使用公网访问验证服务间调用

1. 进入 资源管理 > 虚拟机集群 > 集群 ID(需确认所选地域无误),在集群云主机列表页面,获取 consumer 服务所在云服务器的公网 IP。
2. 使用浏览器访问 consumer 应用的 URL 并调用 provider 服务,格式为http://<云服务器实例公网 IP>:18083/echo-rest/test,返回结果如下:




方式2:登录云服务器验证服务间调用

1. 进入 资源管理 > 虚拟机集群 > 集群 ID(需确认所选地域无误),在集群云主机列表页面,单击 consumer 服务所在云服务器操作栏的登录,输入登录密码,登录云服务器。
2. 执行 curl 命令调用 consumer-demo 服务。
curl 内网IP地址:18083/echo-rest/test
调用结果如下:


查看服务依赖拓扑图

1. 前往 TSF Consul,选择服务治理。
2. 单击 consumer-demo 服务的“ID”,进入服务详情页面,可以看到两个服务的依赖关系。



上图两个服务的依赖关系表示:在选中时间范围内, consumer-demo 调用了 provider-demo 服务,调用耗时15.9ms。