背景: 想搭建一个配置中心
可以选择的方案: Spring Cloud Config 或者 Spring Cloud Consul Config
Spring cloud config优点很明显, 使用git 管理配置,配置简单,可以查看历史信息但是有个缺点,还需要自己搭建一个server。
因为我们本身就有Consul作为服务注册中心,每台服务器上都有consul agent, 而且是运维在维护,高可用,不用自己再维护一个配置中心。consul提供的key/value可以作为配置的存储,而且地读取速度很快,比Spring Cloud Config速度快。
官网手册很简单完全起不到指导作用, 手册地址:
http://cloud.spring.io/spring-cloud-consul/spring-cloud-consul.html
搜索到这篇回答
https://stackoverflow.com/questions/42561136/spring-boot-get-properties-from-consul-server 帮助很大
自己摸索配置如下
在src/main/resources/bootstrap.yml中输入
spring:
profiles:
active: prod
cloud:
consul:
config:
enabled: true
acl-token: xxxxx
prefix: sns
name: jarvis
format: key_value
watch:
enabled: false
image.png
这样就可以完全替换掉application.yml
这里设置spring.cloud.watch.enabled 为false, 不想去监听配置的更改, 配置更改时,手动需要重启服务,这样更安全一点。
网友评论