微服務開發框架—Spring Cloud
2.1. Spring Cloud簡介及其特點
簡介:
Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具
(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線)。分布式系統
的協調導致了樣板模式, 使用Spring Cloud開發人員可以快速地支持實現這些模式的服
務和應用程序。他們將在任何分布式環境中運行良好,包括開發人員自己的筆記本電
腦,裸機數據中心,以及Cloud Foundry等托管平台。
特點:
Spring Cloud專注於提供良好的開箱即用經驗的典型用例和可擴展性機制覆蓋。
-
分布式/版本化配置
-
服務注冊和發現
-
路由
-
service - to - service調用
-
負載均衡
-
斷路器
-
分布式消息傳遞
2.2. Spring Cloud的版本簡介
因為Spring Cloud不同其他獨立項目,它擁有很多子項目的大項目。所以它是的版本是 版本名+版本號 (如Angel.SR6)。
版本名:是倫敦的地鐵名
版本號:SR(Service Releases)是固定的 ,大概意思是穩定版本。后面會有一個遞增的數字。
所以 Brixton.SR5就是Brixton的第5個Release版本。
版本的區別(包含的子項目不同..)

2.3Spring Cloud的組成
Spring clod包含了多個子項目,如下所述(Spring Cloud一直在更新,這里只是部分,寫多了也不一定懂,所以現在只是概括一下,實踐過才知道)
Spring Cloud Config 配置管理工具,支持使用Git存儲配置內容,可以使用它實現應用配置的外部化存儲,並支持客戶端配置信息刷新、加密/加密配置內容等。
Spring Cloud Netflix 核心組件(相對於國內的Duboo),對多個NetflixOSS開源套件進行整理。
-
Eureka 服務治理組件,包含服務注冊中心,服務注冊與發現機制的實現。(服務治理,服務注冊/發現)
-
Hystrix 容錯管理逐漸,實現斷路器模式,幫助服務以來中出現的延遲和為故障提供強大的容錯能力。(熔斷、斷路器,容錯)
-
Ribbon 客戶端負載 均和的服務調用組件(客戶端負載)
-
Feigin 給予Ribbon和Hystrix的聲明式服務調用組件 (聲明式服務調用)
-
Zuul 網關組件,提供智能路由,訪問過濾功能
-
Archaius 外部化配置組件
Spring Cloud Bus 事件、消息總線 (消息總線)
Spring Cloud Cluster 針對Zookeeper、Redis、Hazelcast、Consul、的選舉算法和通用狀態模式的實現
Spring Cloud Cloudfoundry 與Pivatal Cloudfoundry的整合支持
Spring Cloud Consul 服務發現與配置管理工具
Spring Cloud Stream 通過Redis、Rabbit或者卡夫卡實現消費微服務,可以通過簡單的聲明式模型發送和接收消息
Spring Cloud AWS 用於簡化整合 Amazon Web Service 的組件
Srping Cloud Security 安全工具包,提供在Zuul代理中的OAuth2客戶端請求的中繼器。
Spring Cloud Sleuth Spring Cloud營運的分布式跟蹤實現,可以完美整合Zipkin
Spring Cloud Zookeeper 給予Zookeeper的服務發現與配置管理組件
Spring Cloud Starers Spring Cloud的基本組件,它基於Spring Boot風格項目的基礎依賴模塊
Spring Cloud CLI 用於在Groovy中快速創建Spring Cloud應用的Spring Boot CLI插件