SpringCloud概述

SpringCloud綜合概述

1、Spring Cloud 簡介

1.1官網(wǎng)簡介

【原文】Building distributed systems doesn't need to be complex and error-prone(易錯). SpringCloud offers a simple and accessible(易接受的) programming model to the most common distributed system patterns(模式), helping developers build resilient(有彈性的), reliable(可靠的),and coordinated(協(xié)調(diào)的) applications. Spring Cloud is built on top of Spring Boot, making it easy for developers to get started and become productive quickly.

【翻譯】構(gòu)建分布式系統(tǒng)不需要復(fù)雜和容易出錯。Spring Cloud 為最常見的分布式系統(tǒng)模式提供了一種簡單且易于接受的編程模型,幫助開發(fā)人員構(gòu)建有彈性的、可靠的、協(xié)調(diào)的應(yīng)用程序。Spring Cloud 構(gòu)建于 Spring Boot 之上,使得開發(fā)者很容易入手并快速應(yīng)用于生產(chǎn)中。

1.2百度百科

Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的開發(fā)便利性巧妙地簡化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊、配置中心、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用 Spring Boot 的開發(fā)風(fēng)格做到一鍵啟動和部署。Spring Cloud 并沒有重復(fù)制造輪子,它只是將目前各家公司開發(fā)的比較成熟、經(jīng)得起實際考驗的服務(wù)框架組合起來,通過 Spring Boot 風(fēng)格進(jìn)行再封裝屏蔽掉了復(fù)雜的配置和實現(xiàn)原理,最終給開發(fā)者提供了一套簡單易懂、易部署和易維護(hù)的分布式系統(tǒng)開發(fā)工具包。

總結(jié)

1、Spring Cloud是?系列框架的有序集合(Spring Cloud是?個規(guī)范)

2、組件包括服務(wù)發(fā)現(xiàn)注冊、配置中?、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等

3、利?Spring Boot的開發(fā)便利性簡化了微服務(wù)架構(gòu)的開發(fā)(?動裝配)

注意

這里,我們需要注意,Spring Cloud其實是?套規(guī)范,是?套?于構(gòu)建微服務(wù)架構(gòu)的規(guī)范,?不是?個可以拿來即用的框架。在這個規(guī)范之下第三方的Netflix公司開發(fā)了?些組件、Spring官?開發(fā)了?些框架/組件,包括第三?的阿?巴巴開發(fā)了?套框架/組件集合Spring Cloud Alibaba,這些才是Spring Cloud規(guī)范的實現(xiàn)。

因此我們經(jīng)常稱Netflix開發(fā)的組件比如Eureka稱之為第一代SpringCloud 簡稱SCN,由Alibaba開發(fā)的SpringCloud組件比如Nacos稱為第二代SpringCloud簡稱SCA。

1.3SpringCloud版本說明

Spring Cloud 的版本號并不是我們通常見的數(shù)字版本號,而是一些很奇怪的單詞。這些單詞均為英國倫敦地鐵站的站名。同時根據(jù)字母表的順序來對應(yīng)版本時間順序,比如:最早的 Release 版本 Angel(天使),第二個 Release 版本 Brixton(英國地名),然后是 Camden、Dalston、Edgware,目前使用較多的是 Finchley(英國地名)版本,而最新版本為 Hoxton(英國地名),而我們這里要使用的是 Greenwich(格林威治)。

  • SNAPSHOP:快照版,可以使用,但其仍處理連續(xù)不斷的開發(fā)改進(jìn)中,不建議使用。
  • M:里程碑版。其也會標(biāo)注上 PRE,preview,預(yù)覽版,內(nèi)測版,不建議使用。
  • RC:Release Candidate,發(fā)行候選版,主要是用于修復(fù) BUG,一般該版本中不會再添加大的功能修改了。正式發(fā)行前的版本。
  • SR:Service Release,服務(wù)發(fā)行版,正式發(fā)行版。一般還會被標(biāo)注上 GA,General Available

SpringCloud與SpringBoot對應(yīng)的版本

某一版本的 Spring Cloud 要求必須要運行在某一特定 Spring Boot 版本下。它們的對應(yīng)關(guān)

系在 Spring Cloud 官網(wǎng)可以看到版本對應(yīng)說明。

[圖片上傳失敗...(image-6e8e41-1615007133148)]

1.4Spring Cloud與Dubbo技術(shù)

Spring Cloud 與 Dubbo 均為微服務(wù)框架,開發(fā)團(tuán)隊在進(jìn)行技術(shù)選型時,總會將它們進(jìn)行對比,考慮應(yīng)該選擇哪一個??梢詮囊韵聨追矫婵紤]:

  • 架構(gòu)完整度 Dubbo 僅提供了服務(wù)注冊與服務(wù)治理兩個模塊。攢機(jī)器
  • 社區(qū)活躍度
  • 通訊協(xié)議 Dubbo 通訊使用的是 RPC,Spring Cloud 是 HTTP REST,Spring Cloud gRPC,Spring Cloud Dubbo
  • 技術(shù)改造與微服務(wù)開發(fā)

一般開發(fā)新的服務(wù)使用SpringCloud,對老服務(wù)進(jìn)行改造使用Dubbo 成本比較低。

1.5SpringCloud核心組件

| | 第?代 Spring Cloud(Netflix,SCN) | 第?代 Spring Cloud(主要就是Spring Cloud Alibaba,SCA) |
| 注冊中心 | Netflix Eureka | 阿?巴巴 Nacos |
| 客戶端負(fù)載均衡 | Netflix Ribbon | 阿?巴巴 Dubbo LB、Spring Cloud Loadbalancer |
| 熔斷器 | Netflix Hystrix | 阿?巴巴 Sentinel |
| 網(wǎng)關(guān) | Netflix Zuul:性能?般,未來將退出Spring Cloud ?態(tài)圈 | 官? Spring Cloud Gateway |
| 配置中心 | 官? Spring Cloud Config | 阿?巴巴 Nacos、攜程 Apollo |
| 服務(wù)調(diào)用 | Netflix Feign | 阿?巴巴 Dubbo RPC |
| 消息驅(qū)動 | 官? Spring Cloud Stream | |
| 鏈路追蹤 | 官? Spring Cloud Sleuth/Zipkin | |
| 分布式事務(wù)解決 | | Alibaba seata 分布式事務(wù)?案 |

1.6SpringCloud核心組件之間協(xié)同工作

image

Spring Cloud中的各組件協(xié)同?作,才能夠?持?個完整的微服務(wù)架構(gòu)。?如

  • 注冊中?負(fù)責(zé)服務(wù)的注冊與發(fā)現(xiàn),很好將各服務(wù)連接起來
  • API?關(guān)負(fù)責(zé)轉(zhuǎn)發(fā)所有外來的請求
  • 斷路器負(fù)責(zé)監(jiān)控服務(wù)之間的調(diào)?情況,連續(xù)多次失敗進(jìn)?熔斷保護(hù)。
  • 配置中?提供了統(tǒng)?的配置信息管理服務(wù),可以實時的通知各個服務(wù)獲取最新的
  • 配置信息
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容