天天看點

SpringCloud:使用git伺服器結合配置中心元件Config-server分布式配置中心實戰(十六)

建立項目,建立config-server

和之前的建立項目步驟一樣,不懂得看之前實戰,因為搭建的是伺服器不是用戶端,需要選擇ConfigServer

1.注意依賴,這兩個一定要有

<!--配置中心-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
        <!--注冊中心-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
           

2.啟動類添加注解

@EnableConfigServer

3.配置檔案

#端口号
server:
  port: 9100
#服務名稱
spring:
  application:
    name: config-server
#指定注冊中心
eureka:
  client:
    sericeUrl:
      defaultZone: http://localhost:8761/eureka/
           

4.啟動後報錯

SpringCloud:使用git伺服器結合配置中心元件Config-server分布式配置中心實戰(十六)

意思就是還缺少git服務,配置中心肯定要去讀取某個資料源才可以

使用git伺服器結合Config搭建分布式配置中心

1.預設使用git存儲配置中心

使用git伺服器,可以自己搭建gitlab伺服器或者使用github、開源中國git、阿裡雲git

部落客這裡使用的是碼雲gitee

1)建立一個gittee倉庫

2)複制HTTPS倉庫位址

SpringCloud:使用git伺服器結合配置中心元件Config-server分布式配置中心實戰(十六)

2.配置檔案添加配置

#git配置
cloud:
  config:
    server:
      git:
        uri: 複制HTTPS的倉庫路徑
        username: git使用者名
        password: git密碼
           

3.将商品服務配置添加到git倉庫中

SpringCloud:使用git伺服器結合配置中心元件Config-server分布式配置中心實戰(十六)
SpringCloud:使用git伺服器結合配置中心元件Config-server分布式配置中心實戰(十六)

完成後之後送出

4.啟動config-server服務

注意通路規則,官方文檔也有說明:

将建立好的配置檔案名複制,也就是我上面的product-service.yml

頁面通路:http://localhost:9100/product-service.yml

問題:報錯404,背景錯誤日志是使用者身份驗證不正确。将私有倉庫改為公開,這個問題部落客還沒有具體找到原因,等知道後再修改文章

SpringCloud:使用git伺服器結合配置中心元件Config-server分布式配置中心實戰(十六)

正常通路到的就是git倉庫裡的配置檔案資訊了

重點:通路格式案例

配置檔案名稱是product-service 這裡的-是不需要有的,因為通路格式采用一種字尾的形式,如果使用_則找不到配置檔案

/{name}-{profiles}.properties

/{name}-{profiles}.yml 目前使用的這種通路格式 localhost:9100/master/product-service-t.yml這樣也是可以通路到的 改成對應格式都可以通路到 通過一個字尾就可以實作各種配置格式

/{name}-{profiles}.json

/{label}/{name}-{profiles}.yml

name 伺服器名稱

profile 環境名稱,開發、測試、生産

lable 倉庫分支,預設master分支

SpringCloud:使用git伺服器結合配置中心元件Config-server分布式配置中心實戰(十六)
SpringCloud:使用git伺服器結合配置中心元件Config-server分布式配置中心實戰(十六)

git可以采用多分支的方式去測試,這裡不做示範了

逾時問題

配置中心作為一個微服務也需要配置逾時時間,如果不配置的話配置中心挂掉請求一直得不到傳回

#git伺服器配置
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/walk-under-the-pavilion/config_cloud.git
          username: [email protected]
          password: 3539643q..
          timeout: 5 #逾時時間 秒
          default-label: master #預設通路分支 master