源碼地址:SpringCloud學習源碼
首先,先介紹一下SpringCloud,它是基於SpringBoot的微服務架構。
Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用 Spring Boot 的開發風格做到一鍵啓動和部署。
Spring 並沒有重複製造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過 Spring Boot 風格進行再封裝、屏蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分佈式系統開發工具包。
SpringCloud核心功能:
A:分佈式/版本化配置
B:服務註冊和發現
C:路由
D:服務和服務之間的調用。
E:負載均衡
F:斷路器
G:分佈式消息傳遞
對應組件:
Eureka/Consul:註冊中心、服務發現。
Ribbon/Feign:客戶端負載均衡,負責對eureka中的服務進行調用。
Hystrix:斷路器。客戶端容錯保護,負責當ribbon出現問題時保證整個服務的暢通。
Zuul:智能路由
Turbine:集羣監控
Springcloud-config:遠程獲取配置文件
我在微信訂閱號等你!