腾讯云微服务引擎 TSE Spring Cloud 实战教程 - Spring Cloud 应用接入 Consul-CVM 部署
文档简介:
操作场景:
本文以一对 Demo 示例(包含一个 provider 应用和一个 consumer 应用)介绍如何将通过 CVM 部署的 Spring Cloud 应用接入微服务引擎托管的 Nacos 注册中心,并实现简单的服务访问。帮助您快速了解如何使用 TSE Nacos 注册中心。
操作场景
本文以一对 Demo 示例(包含一个 provider 应用和一个 consumer 应用)介绍如何将通过 CVM 部署的 Spring Cloud 应用接入微服务引擎托管的 Nacos 注册中心,并实现简单的服务访问。帮助您快速了解如何使用 TSE Nacos 注册中心。

前提条件
已创建 TSE Consul 注册中心,请参见 引擎管理。
已 购买云服务器 CVM,且云服务器所在的私有网络 VPC 与 Consul 注册中心所在的 VPC 相同。
下载 Github 的 Demo 源码 到本地并解压。
本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问 Maven 中央库。
步骤1:准备配置
1. 下载 Consul,并将下载好的安装包上传至云服务器 CVM。详细操作请参见 如何将本地文件拷贝到云服务器。
2. 登录云服务器,执行如下命令创建相关资源。
2.1 执行如下命令创建数据文件夹。
mkdir -p /data/consul/data
2.2 执行如下命令创建日志文件夹
mkdir -p /data/consul/log
2.3 执行如下命令创建配置文件。
vim /data/consul/config/config.json
输入i,写入如下配置文件内容后,单击esc,输入:wq后回车,完成配置文件创建。
{"datacenter": "dc1","data_dir": "/data/consul/data/","node_name": "consul-agent-node","server": false,"bind_addr": "{{ GetInterfaceIP \"eth0\" }}","client_addr": "127.0.0.1","log_json": true,"log_level": "info","log_rotate_max_files": 10,"log_rotate_duration": "24h","log_file": "/data/consul/log/","retry_join": ["[TSE Consul Node1 Address]","[TSE Consul Node2 Address]","[TSE Consul Node3 Address]"]}
注意
Consul Agent 支持本地模式和局域网模式两种部署模式:
本地模式:本地模式请指定 client_addr 为127.0.0.1,需要在每台 CVM 实例部署 Agent。
局域网模式:局域网模式请指定 client_addr 为0.0.0.0,只需指定几台 CVM 实例部署 Agent,部署后同一局域网内的 Agent 即可互相连通。
3. 进入 Consul 安装包所在的目录,执行如下命令解压 Consul 安装包。
unzip consul_1.8.6_linux_amd64.zip
4. 执行如下命令启动 Consul Agent。
./consul agent --config-dir=/data/consul/config
步骤2:应用接入
1. 下载 Github 的 Demo 源码 到本地并解压。
2. 打包 demo 源码成 jar 包。在tse-simple-demo-main源码根目录下,打开终端窗口,执行 mvn clean package 命令,对项目进行打包编译。编译成功后,可以在如下目录看到生成如下表所示的2个 Consul Jar 包。
|
软件包所在目录
|
软件包名称
|
说明
|
|
\tse-simple-demo-main\tse-consul-provider-demo\target
|
tse-consul-provider-demo-1.0-SNAPSHOT.jar
|
服务生产者
|
|
\tse-simple-demo-main\tse-consul-consumer-demo\target
|
tse-consul-consumer-demo-1.0-SNAPSHOT.jar
|
服务消费者
|
3. 将编译好的 jar 包上传至云服务器,详细操作请参见 如何将本地文件拷贝到云服务器。
4. 登录云服务器,进入到刚刚上传 jar 文件所在的目录,可看到文件已上传到云服务器。


5. 执行如下命令指定注册中心地址参数并运行该应用。
说明
[TSE Consul Client Agent IP]为 步骤1:准备配置中的 json 文件中的client_addr参数值。
nohup java -Dspring.cloud.consul.host=[TSE Consul Client Agent IP] -jar [jar包名称] &
步骤3:验证服务注册成功
1. 登录 TSE 控制台。
2. 在左侧导航栏选择 consul,单击目标实例的 ID,进入基本信息页面。
3. 在页面上方选择服务管理页签,出现如下页面代表服务注册成功。单击服务名称或者操作栏的查看实例列表可以查看服务的详细信息,如ID、地址、端口等信息。


4. 登录云服务器,执行如下命令,调用 consumer 接口访问 provider 服务。
curl http://localhost:18084/ping-provider/str
返回结果如下:







