SpringCloud 總覽

glmapper發表於2018-12-31

本系列基於Spring Cloud 
**Finchley SR2 &
SOFABoot 3.0.0

Spring Cloud 為開發人員提供了快速構建分散式系統中一些常見模式的工具(例如配置管理、服務發現、斷路器、智慧路由、微代理、控制匯流排、一次性令牌、全域性鎖、leader選舉、分散式session、叢集狀態)。分散式系統的協調導致了樣板模式, 使用 Spring Cloud 開發人員可以快速地支援實現這些模式的服務和應用程式。它們可以在任何分散式環境中很好地工作,包括開發人員自己的膝上型電腦,裸機資料中心,以及Cloud Foundry等託管平臺。

系列文章

Features


Spring Cloud專注於為典型用例提供良好的開箱即用體驗,併為其他使用者提供可擴充套件性機制。

  • Distributed/versioned configuration 
     
     
     
     
    分散式/版本化配置
  • Service registration and discovery 
     
     
     
     
     
    服務註冊和發現
  • Routing 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    智慧路由
  • Service-to-service calls 
     
     
     
     
     
     
     
     
     
     
     
     
     
    service-to-service呼叫
  • Load balancing 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    負載均衡
  • Circuit Breakers 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    斷路器
  • Global locks 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    全域性鎖
  • Leadership election and cluster state  
     
     
    leader選舉和叢集狀態管理
  • Distributed messaging 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    分散式訊息

主要專案


專案名稱 專案職能
Spring Cloud Config Spring Cloud 提供的分散式配置中心,為外部配置提供了客戶端和服務端的支援。
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
提供Leadership選舉,如:Zookeeper, Redis, Hazelcast, Consul等常見狀態模式的抽象和實現。
Spring Cloud 
Consul
封裝了Consul操作,consul 是一個服務發現與配置工具,與Docker容器可以無縫整合。
Spring Cloud 
Security
基於spring security的安全工具包,為你的應用程式新增安全控制。在Zuul代理中為負載平衡的OAuth2 rest客戶端和身份驗證頭中繼提供支援。
Spring Cloud 
Sleuth
Spring Cloud 提供的分散式鏈路跟蹤元件,相容zipkin、HTracer和基於日誌的跟蹤(ELK)
Spring Cloud 
Data Flow
大資料操作工具,作為Spring XD的替代產品,它是一個混合計算模型,結合了流資料與批量資料的處理方式。
Spring Cloud 
Stream
資料流操作開發包,封裝了與Redis,Rabbit、Kafka等傳送接收訊息。
Spring Cloud 
CLI
基於 Spring Boot CLI,可以讓你以命令列方式快速建立雲元件。
Spring Cloud 
OpenFeign
一個http client客戶端,致力於減少http client客戶端構建的複雜性。
Spring Cloud 
Gateway
Spring Cloud 提供的閘道器服務元件
Spring Cloud 
Stream App Starters
Spring Cloud Stream App Starters是基於Spring Boot的Spring 整合應用程式,可提供與外部系統的整合。
Spring Cloud Task 提供雲端計劃任務管理、任務排程。
Spring Cloud 
Task App Starters
Spring Cloud任務應用程式啟動器是SpringBoot應用程式,它可以是任何程式,包括不會永遠執行的Spring批處理作業,並且在有限的資料處理週期後結束/停止。
Spring Cloud 
Zookeeper
操作Zookeeper的工具包,用於使用zookeeper方式的服務發現和配置管理。
Spring Cloud AWS 提供與託管的AWS整合
Spring Cloud 
Connectors
便於雲端應用程式在各種PaaS平臺連線到後端,如:資料庫和訊息代理服務。
Spring Cloud 
Starters
Spring Boot式的啟動專案,為Spring Cloud提供開箱即用的依賴管理。
Spring Cloud 
Contract
Spring Cloud Contract是一個總體專案,其中包含幫助使用者成功實施消費者驅動合同方法的解決方案。
Spring Cloud 
Pipelines
Spring Cloud Pipelines提供了一個固定意見的部署管道,其中包含確保您的應用程式可以零停機方式部署並輕鬆回滾出錯的步驟。
Spring Cloud 
Function
Spring Cloud Function通過函式促進業務邏輯的實現。 它支援Serverless 提供商之間的統一程式設計模型,以及獨立執行(本地或PaaS)的能力。

SpringCloud 與 SpringBoot 版本相容關係

Release Train Boot Version
Greenwich 2.1.x
Finchley 2.0.x
Edgware 1.5.x
Dalston 1.5.x

SpringCloud 與子工程版本關係

Component Edgware.SR5 Finchley.SR2 Finchley.BUILD-SNAPSHOT
spring-cloud-aws 1.2.3.RELEASE 2.0.1.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-bus 1.3.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-cli 1.4.1.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-commons 1.3.5.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-contract 1.2.6.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-config 1.4.5.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-netflix 1.4.6.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-security 1.2.3.RELEASE 2.0.1.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-cloudfoundry 1.1.2.RELEASE 2.0.1.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-consul 1.3.5.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-sleuth 1.3.5.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-stream Ditmars.SR4 Elmhurst.SR1 Elmhurst.BUILD-SNAPSHOT
spring-cloud-zookeeper 1.2.2.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-boot 1.5.16.RELEASE 2.0.6.RELEASE 2.0.7.BUILD-SNAPSHOT
spring-cloud-task 1.2.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-vault 1.1.2.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-gateway 1.0.2.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-openfeign 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-function 1.0.1.RELEASE 1.0.0.RELEASE 1.0.1.BUILD-SNAPSHOT
  • Finchley 構建並使用Spring Boot 2.0.x,與 Spring Boot 1.5.x 不相容。
  • Dalston 和 
    Edgware 基於 
    Spring Boot 1.5.x 構建,不相容 SpringBoot 2.0.x
  • Camden 版本迭代正式結束,Dalston 
    將於2018年12月結束使用,Edgware 將遵循 Spring Boot 1.5.x 的生命週期結束。
  • Camden 基於SpringBoot 1.4.x 構建,但是也會支援 1.5.x 版本
  • Brixton 和 Angel 迭代結束時間是2017年7月,Brixton 基於SpringBoot 1.3.x ,同時也支援 
    1.4.x 版本
  • Angel 基於 SpringBoot 1.2.x ,在某些方式不相容 SpringBoot 1.3.x 。
  • Brixton 構建在SpringBoot 1.3.x ,不相容 
    SpringBoot 1.2.x 。一些基於Angel的庫和大多數應用程式可以在Brixton上正常執行,但如果OAuth2具備spring-cloud-security 1.0的特性,則需要在任何地方進行更改。x被使用(它們大多在1.3.0中被移到Spring Boot中)。

來源:https://juejin.im/post/5c28f2fe51882565a15776fb

相關文章