天天看點

SpringCloud入門學習筆記6--Spring Cloud Config 配置中心

一、Spring Cloud Config簡介

在分布式系統中,由于服務數量巨多,為了友善服務配置檔案統一管理,實時更新,是以需要分布式配置中心元件。在Spring Cloud中,有分布式配置中心元件spring cloud config ,它支援配置服務放在配置服務的記憶體中(即本地),也支援放在遠端Git倉庫中。在spring cloud config 元件中,分兩個角色,一是config server,二是configclient。

Config Server是一個可橫向擴充、集中式的配置伺服器,它用于集中管理應用程式各個環境下的配置,預設使用Git存儲配置檔案内容,也可以使用SVN存儲,或者是本地檔案存儲。

Config Client是Config Server的用戶端,用于操作存儲在Config Server中的配置内容。

Spring Cloud Config為分布式系統中的外部配置提供伺服器和用戶端支援。友善部署與運維。微服務在啟動時會請求Config Server擷取配置檔案的内容,請求到後再啟動容器。

優點:

  • 集中管理配置檔案
  • 不同環境不同配置,動态化的配置更新
  • 運作期間,不需要去伺服器修改配置檔案,服務會想配置中心拉取自己的資訊
  • 配置資訊改變時,不需要重新開機即可更新配置資訊到服務
  • 配置資訊以 rest 接口暴露

 二、配置中心實作

2.1 将配置檔案送出到碼雲

(1)浏覽器打開gitee.com,注冊使用者 ,注冊後登陸碼雲管理控制台

(2)建立項目 “你的項目名” (點選右上角的加号 ,下拉菜單選擇建立項目)

(3)上傳配置檔案,将demo_base工程的application.yml改名為base-dev.yml後上傳到倉庫

SpringCloud入門學習筆記6--Spring Cloud Config 配置中心

(4) 點選克隆/下載下傳按鈕 複雜連結位址  備用

 2.2 配置服務端

(1)右鍵點選父工程>new>module建立demo_config子產品

(2)pom.xml引入依賴

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
    </dependencies>
           

(3)編寫配置檔案application.yml,uri 處填寫之前複制的連結位址

server:
  port: 9999
spring:
  application:
    name: demo-config
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/kannaoku0/springcloud_demo.git
          username: 你的賬号  #如果建立的倉庫是公開的,則不需要設定賬戶和密碼
          password: 你的密碼
           

(4)建立啟動類ConfigServerApplication,添加注解 @EnableConfigServer

SpringCloud入門學習筆記6--Spring Cloud Config 配置中心

 (5)啟動demo_config,浏覽器輸入 http://localhost:9999/base-dev.yml,能夠看到配置内容

SpringCloud入門學習筆記6--Spring Cloud Config 配置中心

 到此,我們的服務端demo_config就配置完成了,接下來配置用戶端

2.3 配置用戶端

(1)在demo_base工程pom.xml添加依賴

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
           

(2)resources目錄下建立 bootstrap.yml,并删除原來的 application.yml

SpringCloud入門學習筆記6--Spring Cloud Config 配置中心

配置中的 name: base profile: dev label: master是和git上面的目錄對應起來的

SpringCloud入門學習筆記6--Spring Cloud Config 配置中心

(3)測試   依次啟動 Eureka,demo_config再啟動demo_base ,按之前的方式通路,浏覽器輸入 http://localhost:9001/test/111

SpringCloud入門學習筆記6--Spring Cloud Config 配置中心

再次觀察demo_based的配置檔案,并沒有端口,服務名等,說明在啟動時他是通過demo_config 從Git上面将配置檔案擷取到了,自此,我們的配置中心  Spring Cloud Config 配置成功。

SpringCloud入門學習筆記6--Spring Cloud Config 配置中心

 下一篇:消息中間件RabbitMQ

繼續閱讀