Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線)。分布式系統的協調導致了樣板模式, 使用Spring Cloud開發人員可以快速地支持實現這些模式的服務和應用程序。他們將在任何分布式環境中運行良好,包括開發人員自己的筆記本電腦,裸機數據中心,以及Cloud Foundry等托管平臺。
特性
Spring Cloud專注于提供良好的開箱即用經驗的典型用例和可擴展性機制覆蓋。
分布式/版本化配置
服務注冊和發現
路由
service - to - service調用
負載均衡
斷路器
分布式消息傳遞
架構圖
1、請求統一通過API網關(Zuul)來訪問內部服務.
2、網關接收到請求后,從注冊中心(Eureka)獲取可用服務
3、由Ribbon進行均衡負載后,分發到后端具體實例
4、微服務之間通過Feign進行通信處理業務
5、Hystrix負責處理服務超時熔斷
6、Turbine監控服務間的調用和熔斷相關指標
SpringCloud體系
Spring Cloud 工具框架
1、Spring Cloud Config 配置中心,利用git集中管理程序的配置。
2、Spring Cloud Netflix 集成眾多Netflix的開源軟件
3、Spring Cloud Bus 消息總線,利用分布式消息將服務和服務實例連接在一起,用于在一個集群中傳播狀態的變化
4、Spring Cloud for Cloud Foundry 利用Pivotal Cloudfoundry集成你的應用程序
5、Spring Cloud Cloud Foundry Service Broker 為建立管理云托管服務的服務代理提供了一個起點。
6、Spring Cloud Cluster 基于Zookeeper, Redis, Hazelcast, Consul實現的領導選舉和平民狀態模式的抽象和實現。
7、Spring Cloud Consul 基于Hashicorp Consul實現的服務發現和配置管理。
8、Spring Cloud Security 在Zuul代理中為OAuth2 rest客戶端和認證頭轉發提供負載均衡
9、Spring Cloud Sleuth SpringCloud應用的分布式追蹤系統,和Zipkin,HTrace,ELK兼容。
10、Spring Cloud Data Flow 一個云本地程序和操作模型,組成數據微服務在一個結構化的平臺上。
11、Spring Cloud Stream 基于Redis,Rabbit,Kafka實現的消息微服務,簡單聲明模型用以在Spring Cloud應用中收發消息。
12、Spring Cloud Stream App Starters 基于Spring Boot為外部系統提供spring的集成
13、Spring Cloud Task 短生命周期的微服務,為SpringBooot應用簡單聲明添加功能和非功能特性。
14、Spring Cloud Task App Starters
15、Spring Cloud Zookeeper 服務發現和配置管理基于Apache Zookeeper。
16、Spring Cloud for Amazon Web Services 快速和亞馬遜網絡服務集成。
17、Spring Cloud Connectors 便于PaaS應用在各種平臺上連接到后端像數據庫和消息經紀服務。
18、Spring Cloud Starters (項目已經終止并且在Angel.SR2后的版本和其他項目合并)
19、Spring Cloud CLI 插件用Groovy快速的創建Spring Cloud組件應用。
參考:
http://projects.spring.io/spring-cloud/
http://blog.csdn.net/forezp/article/details/69696915