九、分佈式配置中心Config

一、Config介紹

1. Config簡介

微服務意味着要將單體應用中的業務拆分成一個個子服務,每個服務的粒度相對較小,因此係統中會出現大量的服務。由於每個服務都需要必要的配置信息才能運行,所以一套集中式的、動態的配置管理設施是必不可少的,SpringCloud提供了ConfigServer來解決這個問題。ConfigServer結構如下:

Config Server
SpringCloud Config爲微服務架構中的微服務提供集中化的外部配置支持,配置服務器爲各個不同微服務應用的所有環境提供了一箇中心化的外部配置。SpringCloud Config分爲服務端和客戶端兩部分。

服務端也稱爲分佈式配置中心,它是一個獨立的微服務應用,用來連接配置服務器併爲客戶端提供獲取配置信息,加密/解密信息等訪問接口。

客戶端則是通過指定的配置中心來管理應用資源,以及與業務相關的配置內容,並在啓動的時候從配置中心獲取和加載配置信息配置服務器默認採用git來存儲配置信息,這樣就有助於對環境配置進行版本管理,粗可以通過git客戶端工具來方便的管理和訪問配置內容。

2. Config作用

  1. 集中管理配置文件
  2. 不同環境不同配置,動態的配置更新,分環境部署如dev/test/prod/beta/release
  3. 運行期間動態調整配置,不再需要在每個服務部署的機器上編寫配置文件,服務會向配置中心統一拉取配置自己的信息
  4. 當配置發生變動時,服務不需要重啓即可感知到配置的變化並應用新的配置
  5. 將配置信息以REST接口的形式暴露

3.與Github整合配置

由於SpringcloudConfig默認使用Git來存儲配置文件(也有其他方式,比如支持SVN和本地文件),但最推薦的是Git,而且使用http/https訪問的形式。

創建一個GitHub項目cloud-config,並添加一個config-dev.yml文件,內容爲:

config:
  info: "master branch,config-repo config-dev.yml version=9"

在這裏插入圖片描述

二、config的使用

1. Config Server

①創建配置中心模塊config-center-3344項目

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

②配置文件

server:
  port: 3344

spring:
  application:
    name: cloud-config-center
  cloud:
    config:
      server:
        git:
          uri: [email protected]:eiletxie/config-repo.git #Github上的git倉庫名字
          ##搜索目錄.這個目錄指的是github上的目錄
          search-paths:
            - config-repo    
      ##讀取分支
      label: master

eureka:
  client:
    service-url:
      defaultZone: http://localhost:7001/eureka/

③主啓動類上添加註解@EnableConfigServer

④訪問http://localhost:3344/master/config-dev.yml,即可返回config-dev.yml的內容
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章