Spring Boot 配置 - Consul 配置中心

▶ Spring Boot 依賴與配置

Maven 依賴git

<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>

▶ 使用說明

一、部署 Consulgithub

  • 參考文檔:上一篇

二、在 resources 路徑下添加配置文件 bootstrap.properties,示例以下:spring

# 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 中添加應用配置bootstrap

配置項 spring.cloud.consul.config.prefix 指定了基本文件夾爲 config,須要先建立文件夾 configapi

新建分兩種類型:文件夾、Key/Value,建立文件夾只需在後面加上 "/" 便可微信

配置項 spring.cloud.consul.config.default-contextspring.cloud.consul.config.profile-separator 指定了應用名和環境分隔符,例如應用 testApp 有環境 defaultdevprod,只需在 config 目錄下建立 testApptestApp-devtestApp-prod 三個文件夾便可:併發

配置項 spring.cloud.consul.config.format 指定了 Value 的轉化方式,依據我的喜愛,能夠配置爲 yamlproperties,若選擇這兩種方式,須要配置 spring.cloud.consul.config.data-key,默認爲 data,示例配置:app

Tips:如需單獨配置每一個 Key/Value,spring.cloud.consul.config.format 和 spring.cloud.consul.config.data-key 均不用設置spring-boot

四、配置刷新微服務

spring.cloud.consul.config.watch.delay 設置了配置的刷新間隔,在 Consul 修改了配置,會動態同步到應用內部。

▶ Github Demo URL

▶ 相關文檔

  • Spring Cloud Consul Config

img

每天玩微信,Spring Boot 開發私有即時通訊系統瞭解一下

SpringBoot正確打日誌的姿式

Spring Boot 定製 parent 快速構建應用

Spring Boot 容器化部署 - Docker

SpringBot中教你手把手配置 https

Spring Boot 日誌處理你還在用Logback?

【雙11狂歡的背後】微服務註冊中心如何承載大型系統的千萬級訪問?

Spring Boot 新一代監控你該這麼玩

Spring Boot 異常處理

Spring Boot 配置 - 配置信息加密

拒絕黑盒應用-Spring Boot 應用可視化監控

併發Bug之源有三,請睜大眼睛看清它們

本文由博客一文多發平臺 OpenWrite 發佈!

相關文章
相關標籤/搜索