简介
在当前的项目中体验了consul作为配置中心进行的配置动态更新,于是自己来实战一把
环境
- idea
- jdk1.8
- centos7
- docker-compose
Consul的安装及使用
1. docker-compose配置
为了方便,还是利用docker进行部署和使用,同时为了节省资源 ,下面的集群模式其实只用了一个节点,如下是docker-compose配置文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32version: '2'
services:
# consul server,对外暴露的ui接口为8500,可通过ui直接访问consulserver,并且配置在2台consul服务器的情况下集群才起作用
consulserver:
image: progrium/consul:latest
hostname: consulserver
ports:
- "8300"
- "8400"
- "8500:8500"
- "53"
command: -server -ui-dir /ui -data-dir /tmp/consul --bootstrap-expect=1
networks:
- xjynet
# consul server1在consul server服务起来后,加入集群中
consulserver1:
image: progrium/consul:latest
hostname: consulserver1
depends_on:
- "consulserver"
ports:
- "8300"
- "8400"
- "8500"
- "53"
command: -server -data-dir /tmp/consul -join consulserver
networks:
xjynet:
external: true
2. 启动容器
执行如下命令启动新配置的docker容器:1
docker-compose up -d
3. 访问consul并加入项目参数
访问http://你的ip:8500进入到consul管理界面,在key/value栏目下新增自己项目的参数即可,界面如下:
springboot配置
1. 引入pom依赖
pom文件中加入下面内容:1
2
3
4
5
6<!--consul配置中心-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-config</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
2. 配置consul连接地址
bootstrap.yml文件中加入如下配置:1
2
3
4
5
6
7
8
9
10
11
12
13
14spring:
# 配置中心
cloud:
consul:
#host: ${ENV}
host: xxx.xxx.com
port: 8500
config:
enabled: true
format: yaml
prefix: config
default-context: xxx
#profile-separator: ','
data-key: data
3. 运行
运行时程序会连接到我们的consul服务器,结合consul中配置的其他参数,就可以成功启动自己的SpringBoot项目了。我们可以结合代码在consul中修改部分参数的值,测试一下我们的配置是否是实时生效的。
本文链接: https://www.xiajunyi.com/pages/p70.html
版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载请注明出处!