目錄
概述
Spring Cloud是一個基於Spring Boot實現的微服務架構開發工具。它爲微服務架構中涉及的配置管理,服務治理,斷路器,智能路由,微代理,控制總線,全局鎖,決策競選,分佈式會話和集羣狀態管理等操作提供了一種簡單的開發方式。
子項目
Spring Cloud包含了多個子項目:
Spring Cloud Config:配置管理工具,支持使用Git存儲配置內容,可以使用它實現應用配置的外部化存儲,並支持客戶端配置信息刷新,加密/解密配置內容等。
Spring Cloud Netflix:核心組件,對多個Netflix OSS開源套件進行整合。
Eureka:服務治理組件,包含服務註冊中心,服務註冊與發現機制的實現。
Hystrix:容錯管理組件,實現斷路器模式,幫助服務依賴中出現的延遲和爲故障提供強大的容錯能力。
Ribbon:客戶端負載均衡的服務調用組件。
Feign:基於Ribbon和Hystrix的聲明式服務調用組件。
Zuul:網關組件,提供智能路由,訪問過濾等功能。
Archaius:外部化配置組件。
Spring Cloud Bus:事件,消息總線。用於傳播集羣中的狀態變化或事件,以觸發後續的處理,比如用來動態刷新配置等。
Spring Cloud Cluster:針對ZooKeeper,Redis,Hazelcase,Consul的選舉算法和通用狀態模式的實現。
Spring Cloud Cloudfoundry: 與PivotalCloudfoundry的整合支持。
Spring Cloud Consul: 服務發現與配置管理工具。
Spring Cloud Stream: 通過Redis,Rabbit或者Kafka實現的消費微服務, 可以通過簡單的聲明式模型來發送和接收消息。
Spring Cloud AWS:用千簡化整合AmazonWeb Service的組件。
Spring Cloud Security: 安全工具包,提供在Zuul代理中對0Auth2 客戶端請求的中繼器。
Spring Cloud Sleuth: Spring Cloud應用的分佈式跟蹤實現,可以完美整合Zipkin。
Spring Cloud ZooKeeper: 基於ZooKeeper的服務發現與配置管理組件。
Spring Cloud Starters: Spring Cloud的基礎組件,它是基於Spring Boot風格項目的 基礎依賴模塊。
Spring Cloud CLI: 用於在Groovy中快速創建Spring Cloud應用的Spring Boot CLI 插件。
版本
SpringCloud由於聚合了多個子項目,並且多個子項目又獨立維護和更新,因此Spring Cloud沒有使用版本號,而是使用倫敦地鐵站的名字,根據字母表順序來對應版本時間順序。比如最開始的Release版本爲Angel,第二個Release版本爲Brixton。
當一個版本的Spring Cloud項目的發佈內容積累到臨界點或者一 個嚴重bug解決可用 後, 就會發布 一個"service releases"版本, 簡稱SRX版本, 其中 X是 一個遞增的數字, 所以BrixtonS.RS就是Brixton的第5個Release版本