SpringCloud是一個服務治理平臺,提供了一些服務框架,如:服務註冊與發現、配置中心、消息中心、負載均衡、數據監控等。git
SpringCloud是一個微服務框架,相比Dubbo等RPC框架,SpringCloud提供全套的分佈式系統解決方案。docker
SpringCloud對微服務基礎框架Netflix的多個開源組件進行了封裝,同時又實現了和雲平臺以及和SpringBoot開發框架的集成。安全
SpringCloud爲微服務架構開發涉及的配置管理、服務治理、熔斷機制,智能路由,微代理、控制總線,一次性token,全局一致性鎖,leader選舉,分佈式session,集羣狀態管理操做提供了一種簡單的開發方式。服務器
SpringCloud爲開發者提供了快速構建分佈式系統的工具,開發者能夠快速的啓動服務後構建應用、同時可以快速和雲平臺資源驚醒對接。session
SpringCloud是Spring的一個頂級項目與SpringBoot、SpringData位於同一位置。架構
SpringCloud包含了許多子項目。app
配置管理工具,支持使用git存儲配置內容,支持應用配置的外部化存儲,支持客戶端配置信息刷新、加密解密配置內容。負載均衡
事件、消息總線,用於在集羣(例如配置變化事件)中傳播狀態變化,可與SpringCloudConfig聯合實現熱部署。框架
針對多種netflix組件提供開發工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。分佈式
NetflixEureka:一個基於rest服務的服務治理組件,包括服務註冊中心、服務註冊與服務發現的機制的實現,實現了雲端負載均衡和中間層服務器的故障轉移。
NetflixHystrix:容錯管理工具,實現斷路器模式,經過控制服務的節點,從而對延時和故障提供更強大的容錯能力。
NetflixRiibbon:客戶端負載均衡的服務調用組件。
NetflixFeign:基於Ribbon和Hystrix的聲明式服務調用組件。
NetflixZuul:微服務網關,提供動態路由,訪問過濾等服務。
NetflixArchaius:配置管理API,包含一系列配置管理API,提供動態類型化屬性、線程安全配置操做、輪詢框架、回調機制等功能。
經過Oauth2協議綁定服務到CloudFoundry,CloudFoundry是VMware退出的開源PaaS雲平臺。
日誌收集工具包,封裝了Dapper,Zipkin和HTrace操做。
大數據操工具,經過命令行方式操做數據流。
安全工具包,爲你的應用程序添加安全機制,主要是指Oauth2。
封裝了Consul操做,consul是一個服務發現與配置工具,與docker容器能夠無縫集成。
操做zookeeper的工具包,用於使用zookeeper方式的服務註冊與發現。
數據流操做開發包,封裝了與Redis、Rabbit、Kafka等發送接收消息。
基於SpringBootCLI,能夠讓你以命令行方式快速創建雲組件。