SpringCloud體系簡介
簡介
摘自SpringCloud官網:http://spring.io/projects/spring-cloud
Spring Cloud為開發人員提供了快速構建分散式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智慧路由,微代理,控制匯流排,一次性令牌,全域性鎖定,領導選舉,分散式會話,叢集狀態)。分散式系統的協調導致鍋爐板模式,使用Spring Cloud開發人員可以快速站起來實現這些模式的服務和應用程式。它們適用於任何分散式環境,包括開發人員自己的膝上型電腦,裸機資料中心和Cloud Foundry等託管平臺。
一、特徵
Spring Cloud專注於為典型用例提供良好的開箱即用體驗,併為其他使用者提供可擴充套件性機制。
-
分散式/版本化配置
-
服務註冊和發現
-
路由
-
服務到服務電話
-
負載均衡
-
斷路器
-
全球鎖
-
領導選舉和叢集國家
-
分散式訊息
Spring Cloud採用了一種非常具有宣告性的方法,通常只需更改類路徑和/或註釋即可獲得大量的內容。作為發現客戶端的示例應用程式:
@SpringBootApplication @EnableDiscoveryClient public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
二、主要專案
Spring Cloud Config
由git儲存庫支援的集中式外部配置管理。配置資源直接對映到Spring,Environment
但如果需要,可以由非Spring應用程式使用。
Spring Cloud Netflix
與各種Netflix OSS元件整合(Eureka,Hystrix,Zuul,Archaius等)。
Spring Cloud Bus
用於將服務和服務例項與分散式訊息傳遞連結在一起的事件匯流排 用於在群集中傳播狀態更改(例如,配置更改事件)。
Spring Cloud Cloudfoundry
將您的應用程式與Pivotal Cloud Foundry整合。提供服務發現實現,還可以輕鬆實現受SSO和OAuth2保護的資源。
Spring Cloud Open Service Broker
提供構建實現Open Service Broker API的服務代理的起點。
Spring Cloud Cluster
領導者選舉和共同的有狀態模式與Zookeeper,Redis,Hazelcast,Consul的抽象和實現。
Spring Cloud Consul
封裝了Consul操作,consul是一個服務發現與配置工具,與Docker容器可以無縫整合。
Spring Cloud Security
為Zuul代理中的負載平衡OAuth2 rest客戶端和身份驗證頭中繼提供支援。
Spring Cloud Sleuth
Spring Cloud應用程式的分散式跟蹤,相容Zipkin,HTrace和基於日誌(例如ELK)的跟蹤。
Spring Cloud資料流
適用於現代執行時的可組合微服務應用程式的雲本機編排服務。易於使用的DSL,拖放式GUI和REST-API共同簡化了基於微服務的資料管道的整體編排。
Spring Cloud Data Flow
輕量級事件驅動的微服務框架,可快速構建可連線到外部系統的應用程式。在Spring Boot應用程式之間使用Apache Kafka或RabbitMQ傳送和接收訊息的簡單宣告模型。
Spring Cloud Stream應用程式啟動器
Spring Cloud Stream App Starters是基於Spring Boot的Spring Integration應用程式,可提供與外部系統的整合。
Spring Cloud任務
一種短命的微服務框架,用於快速構建執行有限資料處理的應用程式。用於向Spring Boot應用程式新增功能和非功能功能的簡單宣告。
Spring Cloud Task App Starters
Spring Cloud Task App Starters是Spring Boot應用程式,可能是任何程序,包括不能永久執行的Spring Batch作業,它們在有限的資料處理期後結束/停止。
Spring Cloud Zookeeper
使用Apache Zookeeper進行服務發現和配置管理。
Spring Cloud AWS
與託管的Amazon Web Services輕鬆整合。它提供了一種使用眾所周知的Spring習語和API(如訊息傳遞或快取API)與AWS提供的服務進行互動的便捷方式。開發人員可以圍繞託管服務構建應用程式,而無需關心基礎結構或維護。
Spring雲聯結器
使各種平臺中的PaaS應用程式可以輕鬆連線到資料庫和訊息代理(該專案以前稱為“Spring Cloud”)等後端服務。
Spring Cloud Starters
Spring Boot風格的入門專案,可以簡化Spring Cloud使用者的依賴管理。(作為專案停產並在Angel.SR2之後與其他專案合併。)
Spring Cloud CLI
Spring Boot CLI外掛,用於在Groovy中快速建立Spring Cloud元件應用程式
Spring Cloud Contract
Spring Cloud Contract是一個總體專案,其中包含幫助使用者成功實施消費者驅動合同方法的解決方案。
Spring Cloud Gateway
Spring Cloud Gateway是一款基於Project Reactor的智慧可程式設計路由器。
Spring Cloud OpenFeign
Spring Cloud OpenFeign通過自動配置和Spring環境以及其他Spring程式設計模型習慣用法提供Spring Boot應用程式的整合。
Spring Cloud Pipelines
Spring Cloud Pipelines提供了一個固定意見的部署管道,其中包含確保您的應用程式可以零停機方式部署並輕鬆回滾出錯的步驟。
Spring Cloud功能
Spring Cloud Function通過函式促進業務邏輯的實現。它支援無伺服器提供商之間的統一程式設計模型,以及獨立執行(本地或PaaS)的能力。