一、介绍
Consul是一个服务网格解决方案,提供了一个功能齐全的控制平面,具有服务发现、配置和分段功能。这些功能中的每一项都可以根据需要单独使用,也可以一起使用来构建一个完整的服务网格。-- 引用自Consul中文文档
在基于SpringCloud的微服务架构中,Consul用来做服务注册、服务发现、配置中心等功能。平替的解决方案还有Nacos、Zookeeper等等。
本文主要是将Consul配置中心集成进SpringCloud项目中。
二、下载安装
上篇博文中,已经详细讲述过Consul面板的下载、启动,这里不再赘述。可移步上篇博文查看:SpringCloud+Consul服务注册+服务发现实战
三、配置持久化
之前我们启动Consul的命令是:
consul.exe agent -dev
这种启动方式,Consul会把面板上创建的配置数据存入内存。也就是说,当Consul面板重新启动时,之前创建的配置数据,都会消失。这显然不是我们预期的结果。
这里我们换种方式启动Consul,以server这种模式启动,完整的启动命令如下:
consul.exe agent -server -config-dir=E:/consul/config -data-dir=E:/consul/data -bind=127.0.0.1 -bootstrap-expect=1 -ui
Consul agent 命令的选项使用详解,可以使用consul.exe agent -h
查看:
诸如这样,基于文件存储配置数据的Consul就实现了
四、开始撸代码
在user-consul模块中,引入consul config组件
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>
接下来在application-dev.yml文件中,声明consul配置中心相关配置:
spring:
cloud:
consul:
host: 127.0.0.1
port