Consul配置中心支持

Consul不仅能用来服务注册和发现,还支持Key/Value键值对的存储,可以用来做配置中心,并且支持动态刷新,这样我们可以将工程中的配置信息保存在Cosul中。

在父工程:pom文件中添加坐标

<!--consul配置中心组件-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>

1:在子工程中新建配置文件:bootstrap.yml (bootstrap.yml 优先 application.yml加载),并添加配置如下

spring:
  application:
    name: schedule-service
  profiles:
    active: dev
  cloud:
    consul:
      host: 127.0.0.1
      port: 8500
      discovery:
        serviceName: ${spring.application.name}
      config:
        enabled: true              #enabled 设置config是否启用,默认为true            
        format: yaml               #format 设置配置的值的格式,可以yaml和properties             
        prefix: config             # prefix 设置配的基本目录,比如config              
        defaultContext: schedule   # defaultContext 设置默认的配置,被所有的应用读取  
        data-key: data
                                    # profiles是支持springboot多环境

2:将原本的配置文件application.yml改名叫:application-dev.yml,并将该文件中的配置注释复制保存到Consul中

application-dev.yml中原有的关于Consul地址和端口的信息配置以及应用名称的配置无需添加到Consul的
key/value中保存,因为在bootstrap.yml中已经配置了

Consul中保存的值(即工程中的配置)

注意事项
consul支持的K/V存储的Value值不能超过512KB
Consul的dev模式,所有数据都存储在内存中,重启Consul的时候会导致所有数据丢失,在正式的环境中,Consul的数据会持久化,数据不会丢失,使用如下命令启动Consul即可

consul agent -server -ui -bootstrap-expect 1 -data-dir D:\consul\data -node=n1 -
bind=127.0.0.1

登录配置中心转移配置

访问consul控制台
http://localhost:8500

2.1:key值由四部分拼接组成:

在这里插入图片描述
拼接结果如下:config/schedule,dev/data(注意间隔符号)
在这里插入图片描述
consul配置中心支持热加载演示:
编写方法读取配置文件中refreshTime的值,每秒在控制台打印一次
在打印过程中,进入配置中心将值由1改为2,查看打印情况
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值