config-1

配置管理方案

項目名稱 描述 特點
Etcd 使用go開發的開源項目,用於服務發現和鍵值管理,使用raft協議作它的分佈式計算模型 1非常快和可伸縮.2.可分佈式.3.命令行驅動,易於搭建和使用
Eureka 由Netflix開發,久經測試,用於服務發現和鍵值管理 1.分佈式鍵值存儲,2.靈活,需要時間設置3.提供開箱即用的動態客戶端刷新
Consul 由Hashicorp開發,特性上類似於Eureka和Etcd,分佈式計算模型使用了不同的算法(swim協議) 快速,2.提供本地服務發現功能,可以直接和DNS集成3.沒有提供開箱即用的動態客戶端刷新
ZooKeeper 經常用作訪問鍵值數據的配置管理解決方案 1.最古老的解決方案2.使用最爲複雜.3.可用作配置管理,但只有其他架構中已經使用了Zookeeper的時候才考慮使用
SpringCloudConfig 提供不同後端支持的通用配置管理方案 1.非分佈式鍵值存儲2.提供了對Spring 和非Spring服務對緊密集成.

Spring cloud config pom 配置文件

        <!-- dependencyManageMent-->        
         <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Camden.SR5</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
    </dependencyManagement>
    <!--添加依賴-->
       <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-config-server</artifactId>
    </dependency>
    
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>

spring cloud config 和Spring boot 服務整合
在服務的application.yml或bootstrap.yml 中配置

  • 服務的名稱
  • 服務的profile
  • config服務器的位置

使用spring cloud 配置服務器和git

  • spring.cloud.config.git.uri
  • spring.cloud.config.git.searchpath–> git倉庫中的相對路徑

敏感信息的保護

  • 引入不限長度的java 加密擴展–> JCE
  • 所有已加密的屬性上加上{cipher},表示告訴spring cloud 它正在處理已加密的值.
  • 配置微服務以在客戶端使用加密
  1. 配置Spring cloud config 不要在服務端解密屬性–> spring.cloud.config.server.encrypt
  2. 在服務上加上對稱密鑰
  3. 將Spring-security-rsa JAR 添加到服務的pom中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章