SpringCloud 簡介
SpringCloud是一個基於SpringBoot實現的微服務架構開發工具。它爲微服務架構中涉及的配置管理、服務治理、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分佈式會話和集羣狀態管理等操做提供了一種簡單的開發方式。算法
SpringCloud包含了許多子項目(針對分佈式系統中涉及的多個不一樣的開源產品,而且,還可能會新增更加多的子項目),以下所述:spring
- Spring Cloud Config:配置管理工具。支持使用GIT、SVN、文件存儲配置內容,能夠使用它實現應用配置的外部化存儲,並支持客戶端配置信息刷新、加密/解密配置內容等。
- Spring Cloud Netflix:核心組件,對多個Netflix OSS 開源套件進行整合。
- Eureka:服務治理組件,包含服務註冊中心,服務註冊與發現機制的實現。
- Hystrix:容錯管理組件,實現斷路器模式,幫助服務依賴中出現的延遲和爲故障提供強大的容錯能力。
- Ribbon:客戶端負載均衡的服務調用組件。
- Feign:基於Ribbon和Hystrix的聲明式服務調用組件。
- Zuul:網關組件,提供智能路由、訪問過濾等功能。
- Archaius:外部化配置組件。
- Spring Cloud Bus:事件、消息總線,用於傳播集羣中的狀態變化或事件,以觸發後續的處理,好比用來動態刷新配置。
- Spring Cloud Cluster:針對ZooKeeper、Redis、Hazelcast、Consul的選舉算法和通用狀態模式的實現。
- Spring Cloud Cloudfoundry:與PivotalCloudfoundry的整合支持。
- Spring Cloud Consul:服務發現與配置管理工具。
- Spring Cloud Stream:經過Redis、Rabbit、或者Kafka實現的消費微服務,能夠經過簡單的聲明式模型來發送和接受消息。
- Spring Cloud AWS:用於簡化整合AmazonWebService的組件。
- Spring Cloud Security:安全工具包,提供在Zuul代理中對OAuth2 客戶端請求的中繼器。
- Spring Cloud Sleuth:Spring Cloud應用的分佈式跟蹤實現,能夠完美整合Zipkin。
- Spring Cloud ZooKeeper:基於Zookeeper的服務發現與配置管理組件。
- Spring Cloud Starters:Spring Cloud 的基礎組件,它是基於SpringBoot風格項目的基礎依賴模塊。
- Spring Cloud CLI: 用於在Groovy中快速建立SpringCloud應用的SpringBoot CLI 插件。