建立項目,建立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.啟動後報錯

意思就是還缺少git服務,配置中心肯定要去讀取某個資料源才可以
使用git伺服器結合Config搭建分布式配置中心
1.預設使用git存儲配置中心
使用git伺服器,可以自己搭建gitlab伺服器或者使用github、開源中國git、阿裡雲git
部落客這裡使用的是碼雲gitee
1)建立一個gittee倉庫
2)複制HTTPS倉庫位址
2.配置檔案添加配置
#git配置
cloud:
config:
server:
git:
uri: 複制HTTPS的倉庫路徑
username: git使用者名
password: git密碼
3.将商品服務配置添加到git倉庫中
完成後之後送出
4.啟動config-server服務
注意通路規則,官方文檔也有說明:
将建立好的配置檔案名複制,也就是我上面的product-service.yml
頁面通路:http://localhost:9100/product-service.yml
問題:報錯404,背景錯誤日志是使用者身份驗證不正确。将私有倉庫改為公開,這個問題部落客還沒有具體找到原因,等知道後再修改文章
正常通路到的就是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分支
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