首頁 >Java >java教程 >什麼是Spring Cloud

什麼是Spring Cloud

(*-*)浩
(*-*)浩原創
2019-05-06 11:32:4635807瀏覽

Spring Cloud是一個微服務框架。 Spring Cloud提供了全套分散式系統的解決方案,不僅對微服務基礎架構Netflix的多個開源元件進行了封裝,同時也實現了和雲端平台以及Spring Boot開發框架的整合。

什麼是Spring Cloud

本篇文章將介紹Spring Cloud定義功能等,希望對大家有幫助。

推薦課程:Java教學

Spring Cloud是一個微服務框架,相較於Dubbo等RPC框架, Spring Cloud提供的全套的分散式系統解決方案。 

Spring Cloud對微服務基礎架構Netflix的多個開源元件進行了封裝,同時又實現了和雲端平台以及和Spring Boot開發框架的整合。

Spring Cloud為微服務架構開發涉及的組態管理,服務治理,熔斷機制,智慧路由,微代理,控制匯流排,一次性token,全域一致性鎖,leader選舉,分散式session,叢集狀態管理等操作提供了一種簡單的開發方式。

Spring Cloud 為開發者提供了快速建構分散式系統的工具,開發者可以快速的啟動服務或建置應用程式、同時能夠快速和雲端平台資源進行對 接。


Spring Cloud的項目的位置

Sping Cloud是Spring的一個頂級項目,Spring的頂級項目列表如下:

Spring IO platform:用於系統部署,是可集成的,構建現代化應用的版本平台,具體來說當你使用maven dependency引入spring jar包時它就在工作了。

Spring Boot:旨在簡化創建產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web伺服器,含有諸多開箱即用微服務功能,可 以和spring cloud聯合部署。

Spring Framework:也就是通常所說的spring 框架,是一個開源的Java/Java EE全功能堆疊應用程式框架,其它spring專案如spring boot也依賴於此框架。

Spring Cloud:微服務工具包,為開發者提供了在分散式系統的組態管理、服務發現、斷路器、智慧路由、微代理、控制匯流排等開發工具 包。

Spring XD:是一種執行環境(伺服器軟體,非開發框架),組合spring技術,如spring batch、spring boot、spring data,採集大數據並處理。

Spring Data:是一個資料存取及操作的工具包,封裝了許多資料及資料庫的存取相關技術,包括:jdbc、Redis、MongoDB、Neo4j 等。

Spring Batch:批次框架,或說是批次任務執行管理器,功能包括任務調度、日誌記錄/追蹤等。

Spring Security:是一個能夠為基於Spring的企業應用系統提供聲明式的安全存取控制解決方案的安全框架。

Spring Integration:面向企業應用整合(EAI/ESB)的程式框架,支援的通訊方式包括HTTP、FTP、TCP/UDP、JMS、RabbitMQ、Email等。

Spring Social:一組工具包,一組連結社群服務API,如Twitter、Facebook、LinkedIn、GitHub等,有幾十個。

Spring AMQP:訊息佇列操作的工具包,主要是封裝了RabbitMQ的操作。

Spring HATEOAS:是一個用於支援實作超文本驅動的 REST Web 服務的開發庫。

Spring Mobile:是Spring MVC的擴展,用來簡化手機上的網路應用開發。

Spring for Android:是Spring框架的一個擴展,其主要目的在乎簡化Android本地應用的開發,提供RestTemplate來存取Rest服務。

Spring Web Flow:目標是成為管理網路應用程式頁面流程的最佳方案,將頁面跳轉流程單獨管理,並可設定。

Spring LDAP:是一個用於操作LDAP的Java工具包,基於Spring的JdbcTemplate模式,簡化LDAP存取。

Spring Session:session管理的開發工具包,讓你可以把session儲存到redis等,進行叢集化session管理。

Spring Web Services:是基於Spring的Web服務框架,提供SOAP服務開發,允許透過多種方式建立Web服務。

Spring Shell:提供互動式的Shell可讓你使用簡單的基於Spring的程式設計模型來開發指令,例如Spring Roo指令。

Spring Roo:是一種Spring開發的輔助工具,使用命令列操作來產生自動化項目,操作非常類似於Rails。

Spring Scala:為Scala語言程式設計提供的spring框架的封裝(新的程式語言,Java平台的Scala於2003年底/2004年初發布)。

Spring BlazeDS Integration:一個開發RIA工具包,可以整合Adobe Flex、BlazeDS、Spring以及Java技術創建RIA。

Spring Loaded:用於實作java程式和web應用的熱部署的開源工具。

Spring REST Shell:可以呼叫Rest服務的命令列工具,敲命令列操作Rest服務。

三、Spring Cloud的子專案

#

什麼是Spring Cloud

Spring Cloud包含了許多子項目,如:

Spring Cloud Config:配置管理工具,支援使用Git儲存配置內容,支持應用程式配置的外部化存儲,支援客戶端配置資訊刷新、加解密配置內容等

Spring Cloud Bus:事件、訊息匯流排,用於在叢集(例如,配置變更事件)中傳播狀態變化,可與Spring Cloud Config聯合實現熱部 署。

Spring Cloud Netflix:針對多種Netflix元件提供的開發工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。

     Netflix Eureka:一個基於rest服務的服務治理元件,包括服務註冊中心、服務註冊與服務發現機制的實現,實現了雲端負載平衡和中間層伺服器的故障轉移。

  Netflix Hystrix:容錯管理工具,實現斷路器模式,透過控制服務的節點,從而對延遲和故障提供更強大的容錯能力。

  Netflix Ribbon:客戶端負載平衡的服務呼叫元件。

  Netflix Feign:基於Ribbon和Hystrix的宣告式服務呼叫元件。

  Netflix Zuul:微服務網關,提供動態路由,存取過濾等服務。

  Netflix Archaius:設定管理API,包含一系列設定管理API,提供動態類型化屬性、執行緒安全設定操作、輪詢框架、回呼機制等功能。

Spring Cloud for Cloud Foundry:透過Oauth2協定綁定服務到CloudFoundry,CloudFoundry是VMware推出的開源PaaS雲端平台。

Spring Cloud Sleuth:日誌收集工具包,封裝了Dapper,Zipkin和HTrace操作。

Spring Cloud Data Flow:大數據操作工具,透過命令列方式操作資料流。

Spring Cloud Security:安全工具包,為你的應用程式添加安全控制,主要是指OAuth2。

Spring Cloud Consul:封裝了Consul操作,consul是一個服務發現與配置工具,與Docker容器可以無縫整合。

Spring Cloud Zookeeper:操作Zookeeper的工具包,用於使用zookeeper方式的服務註冊和發現。

Spring Cloud Stream:資料流操作開發包,封裝了與Redis,Rabbit、Kafka等發送接收訊息。

Spring Cloud CLI:基於 Spring Boot CLI,可以讓你以命令列方式快速建立

以上是什麼是Spring Cloud的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn