文档中心>微服务引擎 TSE

Consul 快速入门

最近更新时间:2023-11-16 17:30:27

我的收藏
为了帮助您快速体验如何将应用接入 TSE Consul 注册中心,本文以一对 Demo 示例(包含一个 provider 应用和一个 consumer 应用)介绍如何将通过 CVM 部署的 Spring Cloud 应用接入微服务引擎托管的 Consul 注册中心,并实现简单的服务访问。

前提条件

步骤1:创建 Consul 引擎实例

1. 登录 TSE 控制台
2. 在左侧导航栏,单击 consul,进入 Consul 注册中心页面。
3. 选择好地域后单击新建,根据自身业务需求填写以下配置信息:
参数
说明
名称
最长60个字符,支持中英文大小写、-、_,名称一旦创建后不支持修改
版本
1.8.6
规格
1C1G、1C2G、2C4G、4C8G、8C16G、16C32G
节点数
可选3、5节点
引擎所在地域
选择与您部署业务最靠近的地域。
集群网络
所选择的私有网络必须和已购买的云服务器所在的私有网络一致。所选择的子网不用和云服务器所在的私有网络一致
标签
用于分类管理资源,选填,具体使用方法可参见 标签管理
4. 单击创建,完成 consul 引擎创建。创建完成后单击引擎实例的“ID”,进入基本信息页面,选择访问管理页签可以获取 Consul 注册中心实例访问 IP。




步骤2:准备配置

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

步骤3:应用接入

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]步骤2:准备配置 中的 json 文件中的client_addr参数值。
nohup java -Dspring.cloud.consul.host=[TSE Consul Client Agent IP] -jar [jar包名称] &

步骤4:验证服务注册成功

1. 登录 TSE 控制台
2. 在左侧导航栏选择 consul,单击目标实例的 ID,进入基本信息页面。
3. 在页面上方选择服务管理页签,出现如下页面代表服务注册成功。单击服务名称或者操作栏的查看实例列表可以查看服务的详细信息,如 ID、地址、端口等信息。


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