Maven 依賴html
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Greenwich.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> ..... <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-config</artifactId> </dependency> </dependencies>
一、部署 Consulgit
二、在 resources 路徑下添加配置文件 bootstrap.properties,示例以下:github
# consul 基本配置 spring.cloud.consul.host=127.0.0.1 spring.cloud.consul.port=8500 # 啓用 consul 配置中心 spring.cloud.consul.config.enabled=true # 基礎文件夾,默認值 config spring.cloud.consul.config.prefix=config # 應用文件夾,默認值 application,consul 會加載 config/<applicationName> 和 config/<defaultContext> 兩份配置,設置爲相同值,則只加載一份 spring.cloud.consul.config.default-context=testApp spring.application.name=testApp # 環境分隔符,默認值 "," spring.cloud.consul.config.profile-separator=- # 配置轉碼方式,默認 key-value,其餘可選:yaml/files/properties spring.cloud.consul.config.format=properties # 配置 key 值,value 對應整個配置文件 spring.cloud.consul.config.data-key=data # 啓用配置自動刷新 spring.cloud.consul.config.watch.enabled=true # 【疑問】請求 consul api 的延遲,單位:秒 spring.cloud.consul.config.watch.wait-time=1 # 刷新頻率,單位:毫秒 spring.cloud.consul.config.watch.delay=10000
三、在 Consul Key/Value 中添加應用配置spring
配置項 spring.cloud.consul.config.prefix
指定了基本文件夾爲 config
,須要先建立文件夾 config
:bootstrap
Tips:新建分兩種類型:文件夾、Key/Value,建立文件夾只需在後面加上 "/" 便可api
配置項 spring.cloud.consul.config.default-context
和 spring.cloud.consul.config.profile-separator
指定了應用名和環境分隔符,例如應用 testApp
有環境 default
、dev
、prod
,只需在 config
目錄下建立 testApp
、testApp-dev
、testApp-prod
三個文件夾便可:app
配置項 spring.cloud.consul.config.format
指定了 Value 的轉化方式,依據我的喜愛,能夠配置爲 yaml
或 properties
,若選擇這兩種方式,須要配置 spring.cloud.consul.config.data-key
,默認爲 data
,示例配置:spring-boot
Tips:如需單獨配置每一個 Key/Value,
spring.cloud.consul.config.format
和spring.cloud.consul.config.data-key
均不用設置code
四、配置刷新orm
spring.cloud.consul.config.watch.delay
設置了配置的刷新間隔,在 Consul 修改了配置,會動態同步到應用內部。
本文由博客一文多發平臺 OpenWrite 發佈!