Spring Cloud學習筆記 011

2022-01-29 07:25:11 字數 2126 閱讀 6339

由於配置中心儲存的內容比較敏感,做一定的安全處理是必需的。為配置中心實現安全保護的方式有很多,比如物理網路限制、oauth2授權等。由於微服務應用和配置中心都構建與spring boot基礎上,所以與spring security結合使用會更加方便。

1. 只需要再配置中心的pom.xml中加入sprign security依賴,不需要做任何其他改動就能實現對配置中心訪問的安全保護。預設情況下,可以獲得乙個名為user的使用者,並且在配置中心啟動的時候,在控制台列印出該使用者的隨機密碼:

2. 大多數情況下,並不會使用隨機生成密碼的機制。可以在配置檔案中指定使用者和密碼:

3. 此時,如果連線到配置中心的客戶端中沒有設定對應的安全資訊,在獲取配置資訊時會返回401錯誤。所以,需要通過配置的方式在客戶端加入安全資訊來通過校驗:

當要將配置中心部署到生產環境中時,與服務註冊中心一樣,也應該是乙個高可用的應用。spring cloud config實現服務端的高可用非常簡單,主要有以下兩種方式:

◆ 傳統模式:不需要為這些服務端做任何額外的配置,只需要遵守乙個配置規則,將所有的config server都指向同乙個git倉庫,這樣所有的配置內容就通過統一的共享檔案系統來維護。而客戶端在指定config server位置時,只需要配置config server上層的負載均衡裝置位址即可。

◆服務模式:將config server作為乙個普通的微服務應用,納入eureka的服務治理體系中。這樣微服務應用就可以通過配置中心的服務名來獲取配置資訊,這種方比起傳統的實現模式來說更加有利於維護,因為對於服務端的負載均衡配置和客戶端的配置中心指定都通過服務治理機制一併解決了,既實現了高可用,也實現了自維護。

接下來介紹如何將config server註冊到服務中心,並通過服務發現來訪問config server並獲取git倉庫中的配置資訊。基於demo-config-server和demo-config-client兩個工程來進行改造。

1. 在demo-config-server的pom.xml中增加eureka依賴:

3. 在demo-config-server的啟動類中啟用eureka客戶端:

4. 啟動該服務,登入註冊中心檢視:

5. 在demo-config-client的pom.xml中增加eureka依賴:

6. 在demo-config-client的bootstrap.properties檔案中指定服務註冊中心的位置:

其中通過eureka.client.serviceurl.defatulzone引數指定服務註冊中心,用於服務的註冊與發現;再將spring.cloud.discovery.enabled引數設定為true,開通通過服務來訪問config server的功能;最後利用spring.cloud.config.discovery.serviceid引數來指定config server註冊的服務名。

7. 在demo-config-client的啟動類中啟用eureka客戶端:

8. 啟動該服務,登入註冊中心檢視:

SpringCloud學習筆記

筆記學習位址 筆記內容皆摘抄自以上部落格並親自驗證。在此感謝原博主分享 本文出自方志朋的部落格 環境 ide idea jdk8 a 服務的註冊與發現 1 spring eureka 服務端 實現springcloud的服務註冊與發現功能。1 springboot專案搭建 使用start.sprin...

Spring Cloud 學習筆記

spring cloud學習筆記 系統架構 集中式架構,垂直拆分,分布式服務,服務治理,微服務 集中式架構 把所有功能集中部署,低成本,但無法適用於稍複雜的系統 垂直拆分 通過將每個業務功能拆分來實現流量分擔,每個模組也可單獨優化且方便水平擴充套件,但會有很多重複工作,影響開發效率。分布式服務 抽取...

筆記 spring cloud 學習筆記

1 spring cloud 是什麼 spring cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具 例如配置管理,服務發現,斷路器,智慧型路由,微 控制匯流排 分布式系統的協調導致了樣板模式,使用spring cloud開發人員可以快速地支援實現這些模式的服務和應用程式。他們將在任...