注册配置治理 Spring Cloud 应用接入 Consul-CVM 部署

这篇以一对 Demo 示例(包含一个 provider 应用和一个 consumer 应用)介绍如何将通过 CVM 部署的 Spring Cloud 应用接入微服务引擎托管的 Consul 注册中心,并实现简单的服务访问。帮助你快速了解如何使用 Consul 注册中心。

相关产品
注册配置治理 产品页,含版本规格、价格与购买入口。

一、前提条件

·已创建 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 支持本地模式和局域网模式两种部署模式:

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. 登录 TSF 控制台,在左侧导航栏选择 Consul,进入引擎实例列表页。

2. 单击目标实例的 ID,进入基本信息页面。

3. 在页面上方选择服务管理页签,出现如下页面代表服务注册成功。单击服务名称或者操作栏的查看实例列表可以查看服务的详细信息,如ID、地址、端口等信息。


4. 登录云服务器,执行如下命令,调用 consumer 接口访问 provider 服务。

curl http://localhost:18084/ping-provider/str

返回结果如下:


赞 (0)
上一篇 5天前
下一篇 5天前