SpringCloud簡介以及相關元件
Spring→SpringBoot→SpringCloud
Spring
是一個輕量級的Java
開發框架,它能使用基本的JavaBean
代替EJB
。SpringBoot
是由Pivotal團隊提供的全新框架,用來簡化新Spring
應用的初始搭建和開發過程。開發人員無需定義樣板化配置。SpringCloud
是一系列框架的有序集合,它把好的東西集合到一起,這就是所謂的集大成者。同時它利用SpringBoot
的開發便利性巧妙的簡化了分散式系統基礎設施的開發。
Pivotal公司官網:https://pivotal.io/
什麼是SpringCloud
SpringCloud
是一個微服務框架,相比Dubbo
等RPC框架, SpringCloud
提供的全套的分散式系統解決方案。
SpringCloud相關元件
上面說到SpringCloud是一系列框架的集合,這一系列框架包括什麼呢?
Spring Cloud Eureka:一個基於rest服務的服務治理元件,包括服務註冊中心、服務註冊與服務發現機制的實現,實現了雲端負載均衡和中間層伺服器的故障轉移。
Spring Cloud Hystrix:容錯管理工具,實現斷路器模式,通過控制服務的節點,從而對延遲和故障提供更強大的容錯能力。
Spring Cloud Ribbon:客戶端負載均衡的服務呼叫元件。提供雲端負載均衡,有多種負載均衡策略可供選擇,可配合服務發現和斷路器使用。
Spring Cloud Feign:基於Ribbon
和Hystrix
的宣告式服務呼叫元件。Feign是一種宣告式、模板化的HTTP客戶端。
Spring Cloud Zuul:雲平臺上提供動態路由,監控,彈性,安全等邊緣服務的框架。相當於是裝置和 Netflix 流應用的 Web 網站後端所有請求的前門。
Spring Cloud Turbine:Turbine是聚合伺服器傳送事件流資料的一個工具,用來監控叢集下hystrix
的metrics情況。
Spring Cloud Netflix Archaius:配置管理API,包含一系列配置管理API,提供動態型別化屬性、執行緒安全配置操作、輪詢框架、回撥機制等功能。
Spring Cloud Config: 配置管理工具包,讓你可以把配置放到遠端伺服器,幾種化管理叢集配置,目前支援本地儲存,Git
以及Subversion
。
Spring Cloud Bus:訊息匯流排(一種通訊工具,可以在機器之間互相傳輸訊息、檔案等。訊息匯流排扮演著一種訊息路由的角色,擁有一套完備的路由機制來決定訊息傳輸方向。傳送段只需要向訊息匯流排發出訊息而不用管訊息被如何轉發)
通過輕量訊息代理連線各個分佈的節點。管理和傳播所有分散式專案中的訊息,本質是利用了MQ的廣播機制在分散式的系統中傳播訊息,用於在叢集(例如,配置變化事件)中傳播狀態變化,可與Spring Cloud Config
聯合實現熱部署。
目前常用的有Kafka
和RabbitMQ
。
RabbitMQ官網地址:http://www.rabbitmq.com/
Kafka官網地址:http://kafka.apache.org/
Spring Cloud Consul:由HashiCorp
公司開發,是一個服務發現與配置工具,與Docker
容器可以無縫整合。
hashicorp官網地址:https://www.hashicorp.com/
Consul官網地址:https://www.consul.io/
Spring Cloud Zookeeper:操作Zookeeper
的工具包,用於使用zookeeper
方式的服務發現和配置管理。
Zookeeper官網地址:https://zookeeper.apache.org/
Spring Cloud Security:基於spring security
的安全工具包,為你的應用程式新增安全控制。
Spring Cloud Stream:資料流操作開發包,封裝了與Redis
,RabbitMQ
、Kafka
等傳送接收訊息。
Spring Cloud Sleuth:日誌收集工具包,封裝了Dapper
和log-based
追蹤以及Zipkin
和HTrace
操作,為SpringCloud應用實現了一種分散式追蹤解決方案。
Spring Cloud Data Flow:大資料操作工具,作為Spring XD
的替代產品,它是一個混合計算模型,結合了流資料與批量資料的處理方式。是構建資料整合和實時資料處理流水線的工具包。
Spring Cloud Task:提供雲端計劃任務管理、任務排程。
Spring Cloud Connectors:便於雲端應用程式在各種PaaS平臺連線到後端,如:資料庫和訊息代理服務。
Spring Cloud Cluster:提供Leadership選舉,如:Zookeeper
, Redis
, Hazelcast
, Consul
等常見狀態模式的抽象和實現。
Hazelcast
是由Hazelcast
公司開發和維護的開源產品,可以為基於jvm環境執行的各種應用提供分散式叢集和分散式快取服務。
Hazelcast官網地址:https://hazelcast.com/
Spring Cloud for Cloud Foundry:將您的應用程式與Pivotal Cloudfoundry
整合。 提供服務發現實現,並且還可以輕鬆實現SSO和OAuth2保護的資源,還可以建立Cloudfoundry
服務代理。CloudFoundry
是VMware推出的開源PaaS雲平臺。
CloudFoundry官網地址:https://www.cloudfoundry.org/
Spring Cloud CLI:基於 Spring Boot CLI,可以讓你以命令列方式快速建立雲元件。
附上兩張圖:
SpringCloud的版本
從下Angel到上Finchley可以看出,版本的第一個字母是按照A-Z順序編排的。
官方說明是這些版本號的單詞來自於英國倫敦的地鐵站站名。
Spring Cloud版本演進情況如下:
Spring Cloud與Spring Boot版本匹配關係
從上面可以看出,SpringCloud版本不是向下相容的,最新版的SpringCloud版本不能相容舊版的SpringBoot,所以在使用的時候記得看清楚版本
相關文章
- SpringCloud及相關元件SpringGCCloud元件
- Docker相關簡介以及使用方法Docker
- SpringCloud-常用元件介紹SpringGCCloud元件
- 【Java初探01】——Java簡介及相關Java
- SpringCloud(1)-Eureka相關配置SpringGCCloud
- SpringCloud(3)-OpenFeign相關配置SpringGCCloud
- SpringCloud學習筆記:SpringCloud簡介(1)SpringGCCloud筆記
- Spread表格元件For JAVA功能介紹—表格相關操作元件Java
- 元素 offset client scroll 相關屬性簡介client
- 初學者 | NLP相關任務簡介
- 十二種特徵工程相關技術簡介特徵工程
- Python 函數語言程式設計、裝飾器以及一些相關概念簡介Python函數程式設計
- Ubuntu遠端登入相關命令簡介(1)Ubuntu
- WebRTC:資料傳輸相關協議簡介Web協議
- springcloud微服務分散式雲架構-SpringCloud簡介SpringGCCloud微服務分散式架構
- springboot+springcloud相關面試題Spring BootGCCloud面試題
- TOF相機簡介
- Lock鎖相關以及AQSAQS
- (一)springcloud微服務分散式雲架構-SpringCloud簡介SpringGCCloud微服務分散式架構
- Python 關於TCP簡介以及與UDP的區別PythonTCPUDP
- Dart VM 的相關簡介與執行模式解析Dart模式
- spring cloud架構整合-springcloud簡介SpringCloud架構GC
- Nginx 相關介紹Nginx
- Flutter widget元件簡介Flutter元件
- vite + ts 快速搭建 vue3 專案 以及介紹相關特性ViteVue
- dubbo相關配置以及注意項
- 一. SpringCloud簡介與微服務架構SpringGCCloud微服務架構
- docker簡介以及優缺點Docker
- LeNet簡介以及Caffe實現
- RabbitMQ 簡介以及使用場景MQ
- vue相關的UI元件庫VueUI元件
- HandlerThread解析以及相關問題分析thread
- (三)springcloud微服務分散式雲架構-SpringCloud整合專案簡介SpringGCCloud微服務分散式架構
- springcloud微服務分散式雲架構簡介SpringGCCloud微服務分散式架構
- springcloud之自定義簡易消費服務元件SpringGCCloud元件
- Drupal建站的相關介紹
- camunda相關資料介紹
- RTSP 流相關工具介紹