欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于SpringCloud的微服務(wù)以及組件詳解

 更新時(shí)間:2023年05月15日 11:01:02   作者:怪 咖@  
這篇文章主要介紹了關(guān)于SpringCloud的微服務(wù)以及組件詳解,是一個(gè)更高層次的、 架構(gòu)視角的綜合性大型項(xiàng)目, 他的目標(biāo)是構(gòu)建一套標(biāo)準(zhǔn)化的微服務(wù)解決方案,需要的朋友可以參考下

一、SpringCloud

1.1、什么是SpringCloud

SpringCloud不同于其他 Spring 的優(yōu)秀項(xiàng)目, 它不再是 像SpringSecurity、SpringMvc... 的一個(gè)基礎(chǔ)框架, 而是一個(gè)更高層次的、 架構(gòu)視角的綜合性大型項(xiàng)目, 他的目標(biāo)是構(gòu)建一套標(biāo)準(zhǔn)化的微服務(wù)解決方案。讓架構(gòu)師、 開發(fā)者在使用微服務(wù)理念構(gòu)建應(yīng)用系統(tǒng)的時(shí)候, 面對(duì)各個(gè)環(huán)節(jié)的問題都可以找到相應(yīng)的組件來處理。

引用網(wǎng)友戲稱的一個(gè)比喻:Spring Cloud 可以說是 Spring 社區(qū)為微服務(wù)架構(gòu)提供的一個(gè) “ 全家桶 ” 套餐。 由于 “ 套餐 ” 中的組件通過一個(gè)社區(qū)進(jìn)行包裝與整合, 使得 “ 套餐 ” 中各個(gè)組件之間的配合變得更加和諧, 這可以有效減少我們?cè)诮M件的選型和整合上花費(fèi)的精力, 所以它可以幫助我們快速構(gòu)建起基礎(chǔ)的微服務(wù)架構(gòu)系統(tǒng)。

1.2、SpringCloud缺點(diǎn)

Spring Cloud因其涵蓋的內(nèi)容非常廣泛,因此對(duì)于很多初學(xué)者來說就像被專業(yè)名詞轟炸了一樣, 入門的難度也就大大提高了。 同時(shí), 中文文檔與資料的匱乏,以及官方文檔的內(nèi)容對(duì)于使用描述并不夠細(xì)致等問題, 也直接提升了使用者的學(xué)習(xí)門檻。

二、什么是微服務(wù)架構(gòu)

2.1、什么是微服務(wù)

“微服務(wù) ”是在2014年3月名字叫Martin Fowler所提出的

微服務(wù)是系統(tǒng)架構(gòu)上的一種設(shè)計(jì)風(fēng)格, 它的主旨是將一個(gè)原本獨(dú)立的系統(tǒng)拆分成多個(gè)小型服務(wù),這些小型服務(wù)都在各自獨(dú)立的進(jìn)程中運(yùn)行,服務(wù)之間通過基于HTTP的RESTful API進(jìn)行通信協(xié)作。由于有了輕量級(jí)的通信協(xié)作基礎(chǔ), 所以這些微服務(wù)可以使用不同的語言來編寫。

2.2、微服務(wù)有什么優(yōu)點(diǎn)

微服務(wù)就是將單個(gè)應(yīng)用拆分為了多個(gè)應(yīng)用(這里的應(yīng)用可以理解為jar包或war包),然后通過框架提供的網(wǎng)關(guān)、服務(wù)治理、服務(wù)發(fā)現(xiàn)、服務(wù)熔斷等等,給人的感覺就會(huì)像是一個(gè)應(yīng)用,主要目的是拆分多個(gè)應(yīng)用,一旦并發(fā)、cpu、內(nèi)存達(dá)到一定的瓶頸,可以采取多機(jī)部署,分擔(dān)服務(wù)器壓力。

往往一個(gè)龐大的高并發(fā)的業(yè)務(wù)系統(tǒng)都會(huì)采用微服務(wù)。同時(shí)微服務(wù)給人的感覺就是專業(yè)的人干專業(yè)的事,訂單模塊就是負(fù)責(zé)訂單業(yè)務(wù),用戶模塊就是負(fù)責(zé)用戶相關(guān)業(yè)務(wù),這樣做的好處就是項(xiàng)目比較好維護(hù)。

2.3、微服務(wù)面臨的問題

在實(shí)施微服務(wù)之前, 我們必須要知道, 微服務(wù)雖然有非常多吸引人的優(yōu)點(diǎn), 但是也因?yàn)榉?wù)的拆分引發(fā)了諸多原本在單體應(yīng)用中沒有的問題。

  • 運(yùn)維的新挑戰(zhàn):運(yùn)維人員需要維護(hù)的進(jìn)程數(shù)量會(huì)大大增加,運(yùn)維過程需要更多的自動(dòng)化, 這就要求運(yùn)維人員具備一定的開發(fā)能力來編排運(yùn)維過程并讓它們能自動(dòng)運(yùn)行起來(往往因?yàn)檫@一點(diǎn) 慢慢演變的開發(fā)也得具備一定的運(yùn)維能力)。
  • 接口的一致性:雖然我們拆分了服務(wù), 但是業(yè)務(wù)邏輯上的依賴并不會(huì)消除, 只是從單體應(yīng)用中的代碼依賴變?yōu)榱朔?wù)間的通信依賴。 而當(dāng)我們對(duì)原有接口進(jìn)行了一些修改, 那么交互方也需要協(xié)調(diào)這樣的改變來進(jìn)行發(fā)布, 以保證接口的正確調(diào)用。 我們需要更完善的接口和版本管理, 或是嚴(yán)格地遵循開閉原則。
  • 分布式的復(fù)雜性:由于拆分后的各個(gè)微服務(wù)都是獨(dú)立部署并運(yùn)行在各自的進(jìn)程內(nèi),它們只能通過通信來進(jìn)行協(xié)作, 所以分布式環(huán)境的問題都將是微服務(wù)架構(gòu)系統(tǒng)設(shè)計(jì)時(shí)需要考慮的重要因素, 比如網(wǎng)絡(luò)延遲、 分布式事務(wù)、 異步消息等。

一旦使用微服務(wù)意味著項(xiàng)目會(huì)有很多個(gè),我們不可能再使用傳統(tǒng)的方式使用tomcat來部署了。 tomcat部署缺點(diǎn):一旦有一個(gè)服務(wù)更新就需要重啟tomcat 這時(shí)候就需要打jar包,使用java -jar命令來啟動(dòng)項(xiàng)目了,使用java -jar啟動(dòng)項(xiàng)目一旦有很多的話不容易維護(hù), 于是便引進(jìn)了docker部署,docker可以和jenkins相結(jié)合 來完成微服務(wù)的自動(dòng)化部署,同時(shí)這也是現(xiàn)在很流行的技術(shù)體系。

2.4、架構(gòu)類型劃分

下面這張圖代表的是我們的思想一直在不斷變化,從剛開始的ORM對(duì)象關(guān)系映射,到后面的MVC分層,RPC遠(yuǎn)程調(diào)用,最后到現(xiàn)在流行的SOA面向服務(wù)開發(fā)。

在這里插入圖片描述

2.4.1、單一應(yīng)用架構(gòu)

不斷擴(kuò)大的需求會(huì)使得單體應(yīng)用變得越來越腕腫。單體應(yīng)用的問題就逐漸凸顯出來, 由于單體系統(tǒng)部署在一個(gè)進(jìn)程內(nèi), 往往我們修改了一個(gè)很小的功能, 為了部署上線會(huì)影響其他功能的運(yùn)行。隨著系統(tǒng)的發(fā)展, 維護(hù)成本會(huì)變得越來越大, 且難以控制。

在這里插入圖片描述

2.4.2、垂直應(yīng)用架構(gòu)

每個(gè)小應(yīng)用各自都有自己獨(dú)立的、完整的可運(yùn)行的一套系統(tǒng)。 在這里插入圖片描述

2.4.3、分布式服務(wù)架構(gòu)

目前我接手的幾個(gè)項(xiàng)目都是用的這個(gè)架構(gòu),服務(wù)之間調(diào)用并沒有用注冊(cè)中心。

應(yīng)用之間交互不可避免,將核心業(yè)務(wù)抽取出來,用于提高業(yè)務(wù)復(fù)用及整合的分布式服務(wù)框架(RPC)是關(guān)鍵。

在這里插入圖片描述

2.4.4、流動(dòng)計(jì)算架構(gòu)

應(yīng)用越來越多,此時(shí)需增加一個(gè)調(diào)度中心基于訪問壓力實(shí)時(shí)管理集群容量,提高集群利用率

在這里插入圖片描述

三、版本選擇

使用springcloud必然離不開springboot,這兩個(gè)框架的版本可不是隨便一選就能搭配使用的,假如用的版本不對(duì),可能會(huì)出現(xiàn)各種問題。

3.1、SpringBoot版本

springboot官網(wǎng):https://spring.io/projects/spring-boot

springboot的git源碼地址:https://github.com/spring-projects/spring-boot

通過官網(wǎng)可以發(fā)現(xiàn):截至目前springboot最穩(wěn)定的版本是2.7.0

依稀記著我上家公司springboot版本是用的1.5.9版本,項(xiàng)目是比較老的,已經(jīng)有三四年了并且是個(gè)大項(xiàng)目。官網(wǎng)也明確說明了,強(qiáng)烈建議升級(jí)到2.0及以上版本。

3.2、SpringCloud版本

springcloud官網(wǎng):https://spring.io/projects/spring-cloud springcloud的git源碼地址:https://github.com/spring-cloud

SpringCloud是一個(gè)由許多子項(xiàng)目組成的綜合項(xiàng)目,各子項(xiàng)目有不同的發(fā)布節(jié)奏。為了管理SpringCloud與各子項(xiàng)目的版本依賴關(guān)系,發(fā)布了一個(gè)清單,其中包括了某個(gè)SpringCloud版本對(duì)應(yīng)的子項(xiàng)目版本。

為了避免SpringCloud版本號(hào)與子項(xiàng)目版本號(hào)混淆,SpringCloud版本采用了名稱而非版本號(hào)的命名,這些版本的名字采用了倫敦地鐵站的名字,根據(jù)字母表的順序來對(duì)應(yīng)版本時(shí)間順序。例如Angel是第一個(gè)版本, Brixton是第二個(gè)版本。

當(dāng)SpringCloud的發(fā)布內(nèi)容積累到臨界點(diǎn)或者一個(gè)重大BUG被解決后,會(huì)發(fā)布一個(gè)"service releases"版本,簡(jiǎn)稱SRX版本,比如Greenwich.SR2就是SpringCloud發(fā)布的Greenwich版本的第2個(gè)SRX版本。

目前我們公司有一個(gè)項(xiàng)目就是用的 Hoxton.SR4版本的SpringCloud + 2.2.5.RELEASE(RELEASE代表是發(fā)行版)版本的SpringBoot

截止目前官網(wǎng)最新可使用的版本是2021.0.3

GA:General Availability: 正式發(fā)布的版本,官方推薦使用此版本。在國(guó)外都是用GA來說明release版本的。CURRENT:當(dāng)前推薦的版本PRE:里程碑版/預(yù)覽版本SHAPSHOT:快照

這里只是一個(gè)標(biāo)識(shí),方便大家在使用的時(shí)候,進(jìn)行選擇版本,我們一般選擇是CURRENT和GA版本

3.3、如何進(jìn)行版本選擇

官網(wǎng)提供了cloud和springboot的版本對(duì)應(yīng)。

更詳細(xì)的查看:https://start.spring.io/actuator/info

這個(gè)是官網(wǎng)提供的,會(huì)給我們返回更詳細(xì)的版本對(duì)應(yīng)關(guān)系,如果我們不知道版本怎么選擇,可以看這個(gè)網(wǎng)站 ,網(wǎng)站返回的是json,我們需要格式化一下。

在線json格式化:https://www.sojson.com/

現(xiàn)在要是學(xué)習(xí)最新的SpringCloud和SpringBoot應(yīng)該用哪個(gè)版本?

四、Cloud組件

4.1、Cloud組件介紹

這張圖是兩年前springcloud的所有組件,其中有很多組件已經(jīng)不再更新,不再更新不代表不能用,只能說不建議再用了,當(dāng)下最流行的組件是Spring Cloud Alibaba。

在這里插入圖片描述

4.1.1、Spring Cloud Netflix

Netflix(Nasdaq NFLX) 美國(guó)奈飛公司,是一家會(huì)員訂閱制的流媒體播放平臺(tái)。由于微服務(wù)的快速發(fā)展,Netflix公司的微服務(wù)又相對(duì)比較成熟,于是在技術(shù)上毫無保留的把一整套微服務(wù)架構(gòu)核心技術(shù)棧開源了出來,叫做Netflix OSS,也正是如此,在技術(shù)上依靠開源社區(qū)的力量不斷的壯大。

Pivotal在Netflix開源的一整套核心技術(shù)產(chǎn)品線的同時(shí),做了一系列的封裝,就變成了Spring Cloud;Spring Cloud只是集成Netflix的各個(gè)組件,實(shí)現(xiàn)了各種starter,例如Eureka-starter、Zuul-starter,可以理解成簡(jiǎn)化Netflix微服務(wù)的使用,但是底層仍然是引用的Netflix,封裝過后同時(shí)又可以和其他Spring Cloud產(chǎn)品進(jìn)行無縫集成。

Netflix的各個(gè)組件在2018年是最火的一年,而后面相對(duì)來說他的很多產(chǎn)品已經(jīng)基本上不再使用,原因就是Netflix的部分組件已經(jīng)停更。再加上由于他的停更,Alibaba就采取了他的思想,研究出了Spring Cloud Alibaba,而對(duì)于現(xiàn)在而言Spring Cloud Alibaba基本上完全可以取代Netflix組件。

Netflix源碼社區(qū):https://github.com/Netflix

Spring Cloud Netflix的五大組件(神獸):

  1. Eureka:服務(wù)注冊(cè)和發(fā)現(xiàn),它提供了一個(gè)服務(wù)注冊(cè)中心、服務(wù)發(fā)現(xiàn)的客戶端,還有一個(gè)方便的查看所有注冊(cè)的服務(wù)的界面。 所有的服務(wù)使用Eureka的服務(wù)發(fā)現(xiàn)客戶端來將自己注冊(cè)到Eureka的服務(wù)器上。
  2. Zuul:網(wǎng)關(guān),所有的客戶端請(qǐng)求通過這個(gè)網(wǎng)關(guān)訪問后臺(tái)的服務(wù)。他可以使用一定的路由配置來判斷某一個(gè)URL由哪個(gè)服務(wù)來處理。并從Eureka獲取注冊(cè)的服務(wù)來轉(zhuǎn)發(fā)請(qǐng)求。
  3. Ribbon:即負(fù)載均衡,Zuul網(wǎng)關(guān)將一個(gè)請(qǐng)求發(fā)送給某一個(gè)服務(wù)的應(yīng)用的時(shí)候,如果一個(gè)服務(wù)啟動(dòng)了多個(gè)實(shí)例,就會(huì)通過Ribbon來通過一定的負(fù)載均衡策略來發(fā)送給某一個(gè)服務(wù)實(shí)例。
  4. Feign:服務(wù)客戶端,服務(wù)之間如果需要相互訪問,可以使用RestTemplate,也可以使用Feign客戶端訪問。它默認(rèn)會(huì)使用Ribbon來實(shí)現(xiàn)負(fù)載均衡。
  5. Hystrix:監(jiān)控和斷路器。我們只需要在服務(wù)接口上添加Hystrix標(biāo)簽,就可以實(shí)現(xiàn)對(duì)這個(gè)接口的監(jiān)控和斷路器功能。

Spring Cloud Netflix的其他組件:

  1. Archaius:動(dòng)態(tài)屬性配置框架,URL、JDBC 和 Amazon DynamoDB 的動(dòng)態(tài)配置源的實(shí)現(xiàn)。
  2. Turbine:Turbine 是一種用于將服務(wù)器發(fā)送事件 (SSE) JSON 數(shù)據(jù)流聚合成單個(gè)流的工具。Hystrix的監(jiān)控中,只能監(jiān)控單個(gè)節(jié)點(diǎn),實(shí)際生產(chǎn)中都為集群,因此可以通過Turbine來監(jiān)控集群下Hystrix的metrics情況。

4.1.2、Spring Cloud Alibaba

Spring Cloud Alibaba組件:

  1. Nacos:Nacos是現(xiàn)在開發(fā)當(dāng)中出場(chǎng)率最高的,他可以完成服務(wù)發(fā)現(xiàn)、配置管理、DNS服務(wù),也就是一個(gè)組件可以完成config、Eureka、Bus三個(gè)組件的功能。
    1. spring-cloud-starter-alibaba-nacos-discovery:服務(wù)發(fā)現(xiàn)是微服務(wù)架構(gòu)中的關(guān)鍵組件之一。在這樣的架構(gòu)中,手動(dòng)為每個(gè)客戶端配置服務(wù)列表可能是一項(xiàng)艱巨的任務(wù),并且使動(dòng)態(tài)擴(kuò)展變得極其困難。Nacos Discovery 幫助您將服務(wù)自動(dòng)注冊(cè)到 Nacos 服務(wù)器Nacos 服務(wù)器會(huì)跟蹤服務(wù)并動(dòng)態(tài)刷新服務(wù)列表。此外,Nacos Discovery 將服務(wù)實(shí)例的一些元數(shù)據(jù),如主機(jī)、端口、健康檢查 URL、主頁等注冊(cè)到 Nacos。
    2. spring-cloud-starter-alibaba-nacos-config:使用 Spring Cloud Alibaba Nacos Config 基于 Spring Cloud 的編程模型快速接入 Nacos 配置管理能力。
  2. sentinel:Sentinel中文名稱是哨兵,Sentinel 主要以流量為切入點(diǎn),從流量控制、熔斷降級(jí)、系統(tǒng)負(fù)載保護(hù)等多個(gè)維度來幫助用戶提升服務(wù)的穩(wěn)定性。流量監(jiān)控就是您可以看到您的服務(wù)器的監(jiān)控?cái)?shù)據(jù),精確到秒級(jí),甚至可以看到少于 500 個(gè)節(jié)點(diǎn)的集群的整體運(yùn)行狀態(tài),pom依賴spring-cloud-starter-alibaba-sentinel。
  3. dubbo:Alibaba提供了spring-cloud-starter-dubbo,對(duì)dubbo進(jìn)行的封裝,主要是為了讓我們更好的讓dubbo和Cloud其他組件進(jìn)行集成使用。
  4. RocketMQ:是一個(gè)開源的分布式消息系統(tǒng)。它基于高可用分布式集群技術(shù),提供低延遲、高穩(wěn)定性的消息發(fā)布和訂閱服務(wù)。Alibaba提供了spring-cloud-starter-stream-rocketmq,幫我們?cè)赾loud當(dāng)中很方便的集成RocketMQ。
  5. ANS:Alibaba提供了spring-cloud-starter-alicloud-ans,ANS(Application Naming Service)是EDAS的一個(gè)組件。Spring Cloud 阿里云 ANS 提供符合 Spring Cloud 規(guī)范的商業(yè)版服務(wù)注冊(cè)和發(fā)現(xiàn),讓您可以在本地開發(fā)應(yīng)用,在云端運(yùn)行。
  6. acm:Alibaba提供了spring-cloud-starter-alicloud-acm,Spring Cloud阿里云ACM是Spring Cloud客戶端商用產(chǎn)品ACM (Application Configuration Management)的一個(gè)實(shí)現(xiàn),是免費(fèi)的。
  7. OSS:Alibaba提供了spring-cloud-starter-alicloud-oss,OSS(Object Storage Service)是阿里云上的存儲(chǔ)產(chǎn)品。alicloud-oss提供符合 Spring Cloud 規(guī)范的商業(yè)化存儲(chǔ)服務(wù)。提供易于使用的 API,并支持在 Spring 框架中集成 Resource。
  8. schedulerX:SchedulerX(分布式作業(yè)調(diào)度)是阿里云產(chǎn)品EDAS的一個(gè)組件。spring-cloud-starter-alicloud-schedulerX 提供了符合 Spring Cloud 規(guī)范的分布式作業(yè)調(diào)度。SchedulerX提供高精度秒級(jí)、高穩(wěn)定性、高可用性的定時(shí)作業(yè)調(diào)度服務(wù),支持簡(jiǎn)單的單服務(wù)器作業(yè)、簡(jiǎn)單的多主機(jī)作業(yè)、腳本作業(yè)、網(wǎng)格作業(yè)等多種作業(yè)類型。
  9. SMS:SMS(Short Message Service)是一種覆蓋全球的短信服務(wù),spring-cloud-starter-alicloud-sms提供了一個(gè)更易用的API,用于快速訪問阿里云的短信服務(wù)。

企業(yè)級(jí)分布式應(yīng)用服務(wù) EDAS(Enterprise Distributed Application Service)是一個(gè)應(yīng)用托管和微服務(wù)管理的 PaaS 平臺(tái),提供應(yīng)用開發(fā)、部署、監(jiān)控、運(yùn)維等全棧式解決方案,同時(shí)支持 Spring Cloud、Apache Dubbo(以下簡(jiǎn)稱 Dubbo )、HSF 等微服務(wù)運(yùn)行環(huán)境,助力您的各類應(yīng)用輕松上云。

4.1.3、其他組件

  1. Spring Cloud Config:springcloud config 項(xiàng)目是一個(gè)解決分布式系統(tǒng)的配置管理方案。它包含了 client 和 server 兩個(gè)部分,server 端提供配置文件的存儲(chǔ)、以接口的形式將配置文件的內(nèi)容提供出去,client 端通過接口獲取數(shù)據(jù)、并依據(jù)此數(shù)據(jù)初始化自己的應(yīng)用。 簡(jiǎn)單一點(diǎn)的說就是:在分布式環(huán)境中,很多的服務(wù)都是集群部署,那就意味著這些集群部署的服務(wù)都需要相同的配置文件。所以,這時(shí)候就引入了 springcloud config 這個(gè)組件,使用該組件來進(jìn)行眾多的配置文件的統(tǒng)一管理。例如,我們?cè)谛薷哪骋慌渲梦募r(shí),只需要在遠(yuǎn)程的 gitHub 等工具上面修改即可,不用多次的在眾多的配置文件中來回繁瑣的修改。
  2. Spring Cloud Bus:Spring Cloud Bus 將分布式系統(tǒng)的節(jié)點(diǎn)與輕量級(jí)消息代理鏈接起來。這可以用來廣播 狀態(tài)改變(例如配置改變)或其他管理指令。
  3. Spring Cloud Sleuth:微服務(wù)跟蹤(sleuth)其實(shí)是一個(gè)工具,它在整個(gè)分布式系統(tǒng)中能跟蹤一個(gè)用戶請(qǐng)求的過程(包括數(shù)據(jù)采集,數(shù)據(jù)傳輸,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)分析,數(shù)據(jù)可視化),捕獲這些跟蹤數(shù)據(jù),就能構(gòu)建微服務(wù)的整個(gè)調(diào)用鏈的視圖,這是調(diào)試和監(jiān)控微服務(wù)的關(guān)鍵工具。
  4. Spring Cloud Data Flow:Spring Cloud Data Flow是什么,雖然已經(jīng)出現(xiàn)一段時(shí)間了,但想必很多人不知道,因?yàn)樵陧?xiàng)目中很少有人用。不僅找不到很多中文資料,英文資料也一樣少的可憐。Spring Cloud Data Flow是基于微服務(wù)的,專門用于流式和批式數(shù)據(jù)處理的框架。
  5. Spring Cloud Security:Spring Cloud Security 用于以最小的麻煩構(gòu)建安全的應(yīng)用程序和服務(wù)?;?Spring Boot 和 Spring Security OAuth2,我們可以快速創(chuàng)建實(shí)現(xiàn)常見模式的系統(tǒng),如單點(diǎn)登錄、令牌中繼和令牌交換。
  6. Spring Cloud Zookeeper:通過一些簡(jiǎn)單的注釋,您可以快速啟用和配置應(yīng)用程序中的常見模式,并使用 Zookeeper 構(gòu)建大型分布式系統(tǒng)。提供的模式包括服務(wù)發(fā)現(xiàn)和分布式配置。
  7. Spring Cloud Stream:Spring Cloud Stream 是一個(gè)框架,用于構(gòu)建與共享消息系統(tǒng)連接的高度可擴(kuò)展的事件驅(qū)動(dòng)微服務(wù)。他可以和各種消息框架進(jìn)行整合。
  8. Spring Cloud CLI:Spring Boot CLI為Spring Cloud提供Spring Boot命令行功能。您可以編寫 Groovy 腳本來運(yùn)行 Spring Cloud 組件應(yīng)用程序(例如)。您還可以輕松地執(zhí)行加密和解密等操作,以支持具有秘密配置值的 Spring Cloud Config 客戶端。使用 Launcher CLI,您可以方便地從命令行一次性啟動(dòng) Eureka、Zipkin、Config Server 等服務(wù)(在開發(fā)時(shí)非常有用)。
  9. Spring Cloud OpenFeign:同F(xiàn)eign是一樣的,是一個(gè)遠(yuǎn)程調(diào)用框架,F(xiàn)eign已經(jīng)停止更新,OpenFeign在Feign的基礎(chǔ)上添加了對(duì) Spring MVC 注釋的支持。
  10. Spring Cloud Task:Spring Cloud Task 允許用戶使用 Spring Cloud 開發(fā)和運(yùn)行短期微服務(wù),并在本地、云中甚至在 Spring Cloud Data Flow 上運(yùn)行它們。只需將@EnableTask您的應(yīng)用程序作為 Spring Boot 應(yīng)用程序(單個(gè)應(yīng)用程序上下文)添加并運(yùn)行。
  11. Spring Cloud Connectors:簡(jiǎn)化了在 Cloud Foundry 和 Heroku 等云平臺(tái)中連接服務(wù)和獲得操作環(huán)境意識(shí)的過程,尤其是對(duì)于 Spring 應(yīng)用程序。它是為可擴(kuò)展性而設(shè)計(jì)的:您可以使用提供的云連接器之一或?yàn)槟脑破脚_(tái)編寫一個(gè),您可以使用對(duì)常用服務(wù)(關(guān)系數(shù)據(jù)庫、MongoDB、Redis、RabbitMQ)的內(nèi)置支持或擴(kuò)展 Spring與您自己的服務(wù)一起使用的云連接器。
  12. Spring Cloud Circuit Breaker:提供了跨不同斷路器實(shí)現(xiàn)的抽象。它提供了在您的應(yīng)用程序中使用的一致 API,讓您開發(fā)人員可以選擇最適合您的應(yīng)用程序需求的斷路器實(shí)現(xiàn)。
  13. Spring Cloud Consul:Consul是 HashiCorp 公司推出的開源工具,用于實(shí)現(xiàn)分布式系統(tǒng)的服務(wù)發(fā)現(xiàn)與配置。與其它分布式服 務(wù)注冊(cè)與發(fā)現(xiàn)的方案,Consul 的方案更“一站式”,內(nèi)置了服務(wù)注冊(cè)與發(fā)現(xiàn)框 架、分布一致性協(xié)議實(shí) 現(xiàn)、健康檢查、Key/Value 存儲(chǔ)、多數(shù)據(jù)中心方案,不再需要依賴其它工具(比如 ZooKeeper 等)。 使用起來也較為簡(jiǎn)單。Consul 使用 Go 語言編寫,因此具有天然可移植性(支持Linux、windows和 Mac OS X);安裝包僅包含一個(gè)可執(zhí)行文件,方便部署,與 Docker 等輕量級(jí)容器可無縫配合。
  14. Spring Cloud Gateway:目前市場(chǎng)上很流行的網(wǎng)關(guān)服務(wù),功能強(qiáng)大豐富,性能好,官方基準(zhǔn)測(cè)試 RPS (每秒請(qǐng)求數(shù))是Zuul的1.6倍,能與 SpringCloud 生態(tài)很好兼容,單從流式編程+支持異步上也足以讓開發(fā)者選擇它了。

4.2、停更的組件

在這里插入圖片描述

1. eureka停更:

eureka目前已經(jīng)在Netflix社區(qū)明確聲明不在更新!而springcloud當(dāng)中的eureka的starter仍然在更新,但是他更新只是為了兼容springcloud版本,并改變不了eureka已經(jīng)停更的事實(shí)。

就好比假如mysql版本不再更新了,而navcat客戶端還在不斷更新,我們天天跟Navicat打交道,以至于很多人不知道其實(shí)項(xiàng)目已經(jīng)是個(gè)死項(xiàng)目了,沒有發(fā)展前途了。

Netflix的eureka社區(qū):https://github.com/Netflix/eureka/wiki

2. Hystrix停更不停用:

NetfLix官網(wǎng)明確聲明:Hystrix 不再處于積極開發(fā)階段,目前處于維護(hù)模式。Hystrix(版本 1.5.18)足夠穩(wěn)定,可以滿足 Netflix 對(duì)我們現(xiàn)有應(yīng)用程序的需求。

3. Feign停更:

Feign是在2019就已經(jīng)不再更新了,通過maven網(wǎng)站就可以看出來,隨之取代的是OpenFeign,從名字上就可以知道,他是Feign的升級(jí)版。

maven網(wǎng)站:https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-feign

在這里插入圖片描述

4. Ribbon停更:

項(xiàng)目處于維護(hù)狀態(tài) ,已經(jīng)好久沒有更新過了。 https://github.com/Netflix/ribbon

5. Config:

Config沒用停更,只不過現(xiàn)在大部分人都采用nacos來做配置中心。

6. Archaius停更:

Netflix下的Archaius在2018年就已經(jīng)停更。

7. Bus:

SpringCloud原生的服務(wù)總線組件,現(xiàn)在風(fēng)頭也被Nacos搶了。

到此這篇關(guān)于關(guān)于SpringCloud的使用以及現(xiàn)狀的文章就介紹到這了,更多相關(guān)SpringCloud詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中使用JWT生成Token進(jìn)行接口鑒權(quán)實(shí)現(xiàn)方法

    Java中使用JWT生成Token進(jìn)行接口鑒權(quán)實(shí)現(xiàn)方法

    這篇文章主要介紹了Java中使用JWT生成Token進(jìn)行接口鑒權(quán)實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • SpringBoot實(shí)現(xiàn)WebSocket即時(shí)通訊的示例代碼

    SpringBoot實(shí)現(xiàn)WebSocket即時(shí)通訊的示例代碼

    本文主要介紹了SpringBoot實(shí)現(xiàn)WebSocket即時(shí)通訊的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 刪除JAVA集合中元素的實(shí)現(xiàn)代碼

    刪除JAVA集合中元素的實(shí)現(xiàn)代碼

    有時(shí)候我們要?jiǎng)h除集合中的某些元素,那么就可以參考下面的代碼
    2013-07-07
  • SpringBoot+Redis使用AOP防止重復(fù)提交的實(shí)現(xiàn)

    SpringBoot+Redis使用AOP防止重復(fù)提交的實(shí)現(xiàn)

    本文主要介紹了SpringBoot+Redis使用AOP防止重復(fù)提交的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • springCloud config本地配置操作

    springCloud config本地配置操作

    這篇文章主要介紹了springCloud config本地配置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 使用Springboot實(shí)現(xiàn)word在線編輯保存

    使用Springboot實(shí)現(xiàn)word在線編輯保存

    PageOffice目前支持的Web編程語言及架構(gòu)有:Java(JSP、SSH、MVC等),ASP.NET(C#、VB.NET、MVC、Razor等),PHP,ASP,本篇文章就帶你使用Springboot整合PageOffice實(shí)現(xiàn)word在線編輯保存
    2021-08-08
  • spring cloud oauth2 實(shí)現(xiàn)用戶認(rèn)證登錄的示例代碼

    spring cloud oauth2 實(shí)現(xiàn)用戶認(rèn)證登錄的示例代碼

    這篇文章主要介紹了spring cloud oauth2 實(shí)現(xiàn)用戶認(rèn)證登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java線程啟動(dòng)為什么要用start()而不是run()?

    Java線程啟動(dòng)為什么要用start()而不是run()?

    這篇文章主要介紹了線程啟動(dòng)為什么要用start()而不是run()?下面文章圍繞start()與run()的相關(guān)資料展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值,西藥的小火熬版可以參考一下,希望對(duì)你有所幫助
    2021-12-12
  • mybatis一對(duì)多兩種mapper寫法實(shí)例

    mybatis一對(duì)多兩種mapper寫法實(shí)例

    這篇文章主要介紹了mybatis一對(duì)多兩種mapper寫法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • java 中函數(shù)的參數(shù)傳遞詳細(xì)介紹

    java 中函數(shù)的參數(shù)傳遞詳細(xì)介紹

    這篇文章主要介紹了 java 中函數(shù)的參數(shù)傳遞詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-11-11

最新評(píng)論