国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Cloud 簡介

這篇具有很好參考價值的文章主要介紹了Spring Cloud 簡介。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Spring Cloud 簡介

? Spring Cloud作為Java語言的微服務(wù)框架,它依賴于SpringBoot,有快速開發(fā)、持續(xù)交付和容易部署等特點。SpringCloud的組件非常多,涉及微服務(wù)的方方面面,在開源社區(qū)Spring和Netflix、Pivotal兩大公司的推動下越來越完善。

1 微服務(wù)應(yīng)該具備的功能

? 微服務(wù)可拆分為 “微” 和 “服務(wù)” 兩個?!拔ⅰ?即小的的意思,那到底多小才算 “微” 呢?可能不同的團隊有不同的答案。從參與微服務(wù)的人數(shù)來講,單體微服務(wù)從架構(gòu)、代碼、開發(fā)、測試、運維的人數(shù)加起來是8~10人才算“微”。那么何為“服務(wù)呢”?按照 “微服務(wù)” 概念提出者Martin Fowler給出的建議:“服務(wù)”是一個獨立運行的單元組件,每個單元組件運行在獨立的進程中。組件與組件之間通常使用HTTP這種輕量級的通信機制進行通信。

微服務(wù)具有一下特點:

  1. 按照業(yè)務(wù)來劃分服務(wù),單個服務(wù)代碼量小,業(yè)務(wù)單一,易于維護。
  2. 每個微服務(wù)都有自己獨立的基礎(chǔ)組件,例如數(shù)據(jù)庫、緩存等,且運行在獨立的進程中。
  3. 微服務(wù)之間的通信是通過HTTP協(xié)議或者消息組件,且具有容錯能力。
  4. 微服務(wù)有一套服務(wù)治理的解決方案,服務(wù)之間不耦合,可以隨時加入或剔除服務(wù)。
  5. 單個微服務(wù)能夠集群化部署,并且有負載均衡的能力。
  6. 整個微服務(wù)系統(tǒng) 應(yīng)該有一個完整的安全機制,包括用戶驗證、權(quán)限認證、資源保護等。
  7. 整個微服務(wù)系統(tǒng)有鏈路追蹤的能力。
  8. 有一套完善的實時日志日志系統(tǒng)

? 微服務(wù)具有以上這些特點,那么微服務(wù)需要具備一些什么樣的功能呢?微服務(wù)的功能主要體現(xiàn)在以下幾個方面。

  1. 微服務(wù)的注冊和發(fā)現(xiàn)
  2. 服務(wù)的負載均衡
  3. 服務(wù)的容錯
  4. 服務(wù)網(wǎng)關(guān)
  5. 服務(wù)配置的統(tǒng)一管理
  6. 鏈路追蹤
  7. 實時日志

1.1.1 服務(wù)的注冊與發(fā)現(xiàn)

? 微服務(wù)系統(tǒng)由很多個單一職責(zé)的服務(wù)單元組成,例如Netflix公司的系統(tǒng)是由600多個微服務(wù)構(gòu)成的,而每一個微服務(wù)又有眾多實例。由于微服務(wù)于系統(tǒng)的服務(wù)粒度小,服務(wù)數(shù)量眾多,服務(wù)之間相互依賴成網(wǎng)狀,所以微服務(wù)系統(tǒng)服務(wù)注冊中心來統(tǒng)一管理微服務(wù)實例,方便查看每一個微服務(wù)實例的健康狀態(tài)。

? 服務(wù)注冊是指向服務(wù)注冊中心注冊一個服務(wù)實例,服務(wù)提供者將自己的服務(wù)信息(如服務(wù)名、IP地址等)告知服務(wù)注冊中心。服務(wù)發(fā)現(xiàn)是指當服務(wù)消費者需要消費另外一個服務(wù)時,服務(wù)注冊中心能夠告知服務(wù)消費者它所需要消費服務(wù)的實例信息(如服務(wù)名、IP地址等)。通常情況下,一個服務(wù)即是服務(wù)提供者,也是服務(wù)消費者。服務(wù)消費者一般使用HTTP協(xié)議或者消息組件這種輕量級的通信機制來進行服務(wù)消費。服務(wù)的注冊與發(fā)現(xiàn)如圖所示:

Spring Cloud 簡介

? 服務(wù)注冊中心會提供服務(wù)的健康檢查方案,檢查被注冊的服務(wù)是否可用。通常一個服務(wù)實例注冊后,會定時向服務(wù)中心提供 “心跳”,以表明自己處于可用的狀態(tài)。當一個服務(wù)實例通知向服務(wù)注冊中心提供心跳一段時間后,服務(wù)注冊中心會認為服務(wù)實例不可用,會將該服務(wù)實例從服務(wù)注冊中心列表中剔除。如果這個被剔除掉的服務(wù)實例過一段時間后繼續(xù)向注冊中心提供心跳,那么服務(wù)注冊中心會將該服務(wù)實例重新加入服務(wù)注冊中心的列表中,另外,微服務(wù)的服務(wù)注冊組件都會提供服務(wù)的健康狀況查看的UI界面,開發(fā)人員或者運維人員只需要登錄相關(guān)的界面就可以服務(wù)的健康狀態(tài)。

1.1.2 服務(wù)的負載均衡

? 在微服務(wù)架構(gòu)中,服務(wù)之間的相互調(diào)用一般是通過HTTP通信協(xié)議來實現(xiàn)的。網(wǎng)絡(luò)往往具有不可靠性,為了保證服務(wù)的高可用 (High Availability),服務(wù)單元往往是集群化部署的。例如將服務(wù)提供者進行集群化部署,那么服務(wù)消費者該調(diào)用哪個服務(wù)者提供的實例呢?這就涉及了服務(wù)的負載均衡。

? 服務(wù)的負載均衡一般最流行的做法如圖所示,所有的服務(wù)都向服務(wù)注冊中心注冊,服務(wù)注冊中心持有每個服務(wù)的應(yīng)用名和IP地址信息等,同時每個服務(wù)也會獲取所有服務(wù)注冊列表信息。服務(wù)消費者集成負載均衡組件,該組件會向服務(wù)消費者獲取服務(wù)注冊列表信息,并每隔一段時間重新刷新獲取該列表。當服務(wù)消費者消費服務(wù)時,負載均衡組件獲取服務(wù)提供者所有實例的注冊信息,并通過一定的負載均衡策略(開發(fā)者可以配置),選擇一個服務(wù)提供者的實例,向該實例進行服務(wù)消費,這樣就實現(xiàn)了負載均衡。

Spring Cloud 簡介

? 服務(wù)注冊中心不但需要定時接受每個服務(wù)的心跳(用來檢查服務(wù)是否可用),而且每個服務(wù)定期獲取服務(wù)注冊列表的信息,當服務(wù)實例數(shù)量很多時,服務(wù)注冊中心承擔(dān)了非常大的負載。由于服務(wù)注冊中心在微服務(wù)系統(tǒng)中起到了至關(guān)重要的作用,所以必須實現(xiàn)高可用。一般的做法是將服務(wù)注冊中心集群化,每個服務(wù)注冊中心的數(shù)據(jù)實時同步,如圖所示:

Spring Cloud 簡介

1.1.3 服務(wù)的容錯

? 微服務(wù)落地到實際項目中,服務(wù)數(shù)量往往非常多,服務(wù)之間的相互依賴性也是錯綜復(fù)雜的,一個網(wǎng)絡(luò)請求通常要調(diào)用多服務(wù)才能完成。如果一個服務(wù)不可用,例如網(wǎng)絡(luò)延遲或故障,會影響到依賴于這個不可用的服務(wù)的其他服務(wù)。如圖所示,一個微服務(wù)系統(tǒng)有很多個服務(wù),當服務(wù)F因某些原因?qū)е铝朔?wù)的不可用,來至于用戶的網(wǎng)絡(luò)請求需要調(diào)用服務(wù)F。由于服務(wù)F無響應(yīng) ,用戶的請求都處于阻塞狀態(tài),在高并發(fā)的場景下,短時間內(nèi)會導(dǎo)致服務(wù)器的線程資源消耗殆盡。另外,依賴于服務(wù)F的其他服務(wù),例如圖中的服務(wù)E、服務(wù)G,服務(wù)J、也會等待服務(wù)F的響應(yīng),處于阻塞狀態(tài),導(dǎo)致這些服務(wù)的線程資源消耗殆盡,進而導(dǎo)致它們的不可用,以及依賴于它們的服務(wù)的不可用,最后導(dǎo)致整個系統(tǒng)處于癱瘓的狀態(tài)也就是雪崩效應(yīng)。

Spring Cloud 簡介

? 為了解決分布式系統(tǒng)的雪崩效應(yīng),分布式系統(tǒng)引進了熔斷器機制。熔斷器(Circuit Breaker)一次來源于物理學(xué)中的電路知識,它的作用是電路中出現(xiàn)故障時迅速切斷電路,從而保護電路,熔斷機制如圖所示。當一個服務(wù)的處理用戶請求的失敗次數(shù)在一定時間內(nèi)大于設(shè)定的閾值時,說明出現(xiàn)了故障,打開熔斷器,這時所有的請求會執(zhí)行快速失敗,不執(zhí)行業(yè)務(wù)邏輯。當處于打開狀態(tài)的容器時,一段時間后會處于半打開狀態(tài),并執(zhí)行一定數(shù)量的請求,剩余的請求會執(zhí)行快速失敗,若執(zhí)行的請求失敗了,則繼續(xù)打開熔斷器,若成功了,則將熔斷器關(guān)閉。

Spring Cloud 簡介

? 這種機制有著非常重要的意義,它不僅能夠有效的防止系統(tǒng)的 “雪崩” 效應(yīng),還具有一下作用。

  • 將資源進行隔離,如果某個服務(wù)里的某個API接口出現(xiàn)了故障,只會隔離該API接口,不會影響到其他API接口。被隔離的API接口會執(zhí)行快速失敗的邏輯,不會等待,請求不會阻塞。如果不進行這種隔離,請求會一直處于阻塞狀態(tài),知道超時。若有大量的請求同時涌入,都處于阻塞的狀態(tài),服務(wù)器的線程資源,迅速被耗完。
  • 服務(wù)降級的功能。當服務(wù)處于正常的狀態(tài)時,大量的請求在短時間內(nèi)同時涌入,超過了服務(wù)的處理能力,這時熔斷器會被打開,將服務(wù)降級,以免服務(wù)器因負載過高而出現(xiàn)故障。
  • 自我修復(fù)能力。當某個微小的故障(例如網(wǎng)絡(luò)服務(wù)商的問題),導(dǎo)致網(wǎng)絡(luò)在短時間內(nèi)不可用,熔斷器被打開。如果不能我監(jiān)控、自我檢測和自我修復(fù),那么需要開發(fā)人員手動的去關(guān)閉熔斷器,無疑會增加開發(fā)人員的工作量。

? Netflix 的 Hystrix熔斷器開源組件功能非常強大,不僅有熔斷器的功能,還有熔斷器的狀態(tài)監(jiān)測,并提供友好的UI界面,開發(fā)人員或運維人員通過UI界面能夠直觀的看到熔斷器的狀態(tài)和各種性能指標。

1.1.4 服務(wù)網(wǎng)關(guān)

? 微服務(wù)系統(tǒng)通過將資源以API接口的形式暴露給外界來提供服務(wù)。在微服務(wù)系統(tǒng)中,API接口資源通常是由服務(wù)網(wǎng)關(guān)(也稱 API網(wǎng)關(guān))統(tǒng)一暴露,內(nèi)部服務(wù)不直接對外提供API資源的暴露。這樣做的好處是將內(nèi)部服務(wù)隱藏起來,外界還以為是一個服務(wù)在提供服務(wù),在一定程度上保護了微服務(wù)系統(tǒng)的安全。API網(wǎng)關(guān)通常有請求轉(zhuǎn)發(fā)的作用,另外它可能需要負責(zé)一定在安全驗證,例如判斷某個請求是否合法,該請求對某一個資源是否具有操作權(quán)限等。通常情況下,網(wǎng)關(guān)層以集群的形式存在。在服務(wù)網(wǎng)關(guān)層之前,有可能需要加上負載均衡層,通常為Nginx雙機熱備,通過一定的路由策略,將請求轉(zhuǎn)發(fā)到網(wǎng)關(guān)層。到達網(wǎng)關(guān)層后,進過一系列的用戶身份驗證、權(quán)限判斷,最終轉(zhuǎn)發(fā)到具體的服務(wù)。具體的服務(wù)經(jīng)過一系列的邏輯運算和數(shù)據(jù)操作,最終將結(jié)果返回給用戶,此時的架構(gòu)如圖所示:

Spring Cloud 簡介

? 網(wǎng)關(guān)層具有很重要的意義,具體體現(xiàn)在以下方面。

  1. 網(wǎng)關(guān)將所有服務(wù)的API接口資源統(tǒng)一聚合,對外統(tǒng)一暴露,外界系統(tǒng)調(diào)用的API接口都是網(wǎng)關(guān)對外暴露的API接口。外界系統(tǒng)不需要知道微服務(wù)架構(gòu)中個服務(wù)相互調(diào)用的復(fù)雜性,微服務(wù)系統(tǒng)也保護了其他內(nèi)部微服務(wù)單元的API接口,防止外界直接調(diào)用以及服務(wù)的敏感信息對外暴露。
  2. 網(wǎng)關(guān)可以做一些用戶身份認證、權(quán)限認證,防止非法請求操作API接口,對內(nèi)部服務(wù)起到保護作用。
  3. 網(wǎng)關(guān)可以實現(xiàn)監(jiān)控功能,實時日志輸出,對請求進行記錄。
  4. 網(wǎng)關(guān)可以用來做流量監(jiān)控,在高流量的情況下,對服務(wù)進行降級。
  5. API接口從內(nèi)部服務(wù)分離出來,方便做測試。

? 當然,網(wǎng)關(guān)實現(xiàn)這些功能,需要做高可用,否則網(wǎng)關(guān)很可能成為架構(gòu)中的拼勁。最常用的網(wǎng)關(guān)組件有Zuul和Nginx等。

1.1.5 服務(wù)配置的統(tǒng)一管理

? 在實際開發(fā)過程中,每個服務(wù)都有大量的配置文件,例如數(shù)據(jù)庫的配置、日志輸出級別的配置等,而往往這些配置在不同的環(huán)境中也是不一樣的。隨著服務(wù)數(shù)量的增加,配置文件的管理也是一件非常復(fù)雜的事。

? 在微服務(wù)架構(gòu)中,需要有統(tǒng)一管理配置文件的組件,例如:Spring Cloud的Spring Cloud Config組件、阿里巴巴的Diamood、百度的Disconf、攜程的Apollo等。這些配置組件所實現(xiàn)的功能大體相同,但又有差別,下面以Spring Cloud Config為例來闡述服務(wù)配置的統(tǒng)一管理。如圖所示:

Spring Cloud 簡介

? 大致過程如下:

  • 首先,Config Service(配置服務(wù))讀取配置文件倉庫的配置信息,其中配置文件倉庫可以存放在配置服務(wù)的本地倉庫,也可以放在遠程的Git倉庫(例如GitHub、Coding等)。
  • 配置服務(wù)啟動后,讀取配置文件信息,讀取完成的配置信息存放在配置服務(wù)的內(nèi)存中。
  • 當啟動服務(wù)A、B時,由于服務(wù)A、B指定了向配置服務(wù)讀取配置信息,服務(wù)A、B項配置服務(wù)讀取配置信息。
  • 當服務(wù)的配置信息需要修改且修改完成后,向配置服務(wù)發(fā)送POST請求進行刷新,這是服務(wù)A、B會向配置服務(wù)重寫讀取配置文件。

? 對于集群化的服務(wù),可以通過使用消息總線來刷新多個服務(wù)實例。如果服務(wù)數(shù)量較多,對配置中心需要考慮集群化部署,從而使配置中心高可用,做分布式集群。

1.1.6 服務(wù)鏈路追蹤

? 微服務(wù)系統(tǒng)是一個分布式架構(gòu)的系統(tǒng),微服務(wù)系統(tǒng)按業(yè)務(wù)劃分服務(wù)單元,一個微服務(wù)系統(tǒng)往往有很多個服務(wù)單元。由于服務(wù)單元很多且復(fù)雜,服務(wù)與服務(wù)之間的調(diào)用有可能非常復(fù)雜,一旦出現(xiàn)了異常和錯誤,就會很難去定位。所以在微服務(wù)架構(gòu)中,必須實現(xiàn)分布式鏈路追蹤,去跟進一個請求到底有哪些服務(wù)參與,參與的順序又是怎樣的,從而使每個請求鏈路清晰可見,出現(xiàn)了問題很快就能定位。

? 舉個例子,如圖所示,在微服務(wù)系統(tǒng)中,一個來自用戶的請求先到達前端A(如前端界面),然后通過遠程調(diào)用,到達系統(tǒng)的中間件B、C(如負載均衡、網(wǎng)關(guān)等),最后到達后端服務(wù)D、E。后端經(jīng)過一系列的邏輯運算,最后將數(shù)據(jù)返回給用戶。對于這一請求,經(jīng)歷了了這么多服務(wù),怎么樣將他的請求過程的數(shù)據(jù)記錄下來呢?這就需要用到服務(wù)鏈路的追蹤。

Spring Cloud 簡介

? Google開源了鏈路追蹤組件Dapper,并在2010年發(fā)表了論文《Dapper,a Large-Scale Distrbuted Systems Tracing Infrastructure》,這篇文章是業(yè)內(nèi)實現(xiàn)鏈路追蹤的標桿和理論基礎(chǔ),具有非常高的參考價值。

? 目前,常見的鏈路追蹤組件有Google的Dapper、Twitter的Zipkin,以及阿里的Eagleeye(鷹眼)等。都是非常優(yōu)秀的鏈路追蹤開源組件。

2 Spring Cloud

2.1.1 簡介

? Spring Cloud是基于Spring Boot的。Spring Boot 是由Pivotal團隊提供的全新Web框架,它主要的特點就是簡化了開發(fā)和部署的過程,簡化了Spring復(fù)雜的配置和依賴管理,通過起步依賴和內(nèi)置Servlet容器能夠使及開發(fā)者迅速搭建起一個Web工程。所以Spring Cloud在開發(fā)部署上繼承了Spring Boot的一些有點,提高了開發(fā)和部署上的效率。

? Spring Cloud的首要目標就是通過一系列開發(fā)組件和框架,幫助開發(fā)者迅速搭建一個分布式的微服務(wù)系統(tǒng)。Spring Cloud是通過包裝其他技術(shù)框架來實現(xiàn)的,例如包裝開源的Netflix OSS組件,實現(xiàn)了一套通過基于注解、Java配置和基于模板開發(fā)的微服務(wù)框架.Spring Cloud框架來自于Spring Resource社區(qū),由Pivotal和Netflix兩大公司和一些其他的開發(fā)者提供技術(shù)上的更新迭代。Spring Cloud提供了開發(fā)分布式微服務(wù)系統(tǒng)的一些常用組件,例如服務(wù)注冊和發(fā)現(xiàn)、配置中心、熔斷器、智能路由、為代理、控制總線、全局鎖、分布式會話等。

2.1.2 常用組件

  1. 服務(wù)注冊和發(fā)現(xiàn)組件 Eureka
    1. 利用Eureka組件可以很輕松的實現(xiàn)服務(wù)的注冊和發(fā)現(xiàn)的功能。Eureka組件提供了服務(wù)的健康監(jiān)測,以及界面友好的UI。通過Eureka通過的UI,Eureka組件可以讓開發(fā)人員隨時了解服務(wù)單元的運行情況。另外Spring Cloud也支持Consul和Zookeeper,用于注冊和發(fā)現(xiàn)服務(wù)。
  2. 熔斷組件 Hystrix
    1. Hystrix是一個熔斷組件,它除了有一些基本的熔斷器功能外,還能夠?qū)崿F(xiàn)服務(wù)降級、服務(wù)限流的功能。另外Hystrix提供了熔斷器的健康監(jiān)測,以及熔斷器健康數(shù)據(jù)的API接口。Hystrix Dashboard組件提供了單個服務(wù)熔斷器的健康狀態(tài)數(shù)據(jù)的界面展示功能 ,Hystrix Tubine組件提供了多個服務(wù)的熔斷器的健康狀態(tài)數(shù)據(jù)的頁面展示功能。
  3. 負載均衡組件 Ribbon
    1. Ribbon 是一個負載均衡組件,它通常和Eureka、Zuul、RestTemplate、Feign配合使用。Ribbon和Zuul配合,很容易做到負載均衡,將請求根據(jù)負載均衡策略分配到不同的服務(wù)實例中。Ribbon和RestTemplate、Feign配合,在消費服務(wù)時能夠做到負載均衡。
  4. 路由網(wǎng)關(guān) Zuul
    1. 路由網(wǎng)關(guān)Zuul有智能路由和過濾的功能。內(nèi)部服務(wù)的API接口通過Zuul網(wǎng)關(guān)統(tǒng)一對外暴露,內(nèi)部服務(wù)的API接口不直接暴露,防止內(nèi)部服務(wù)敏感信息對外暴露。在默認的情況下,Zuul和Ribbon相結(jié)合,能夠做到負載均衡、只能路由。Zuul過濾功能是通過攔截請求來實現(xiàn)的,可以對一些用戶的角色和權(quán)限進行判斷,起到安全驗證的作用,同時也可以用于輸出實時請求日志。

? 上述的4個組件都來自于Netflix公司,統(tǒng)一稱為 Spring Cloud Netflix。

  1. Spring Cloud Config
    1. Spring Cloud Config組件提供了配置文件統(tǒng)一管理的功能。Spring Cloud Config 包括 Server端和Client端,Server端讀取本地倉庫或者遠程倉庫的配置文件,所有的Client向Server讀取配置信息,從而達到配置文件系統(tǒng)統(tǒng)一管理的目的。通常情況下,Spring Cloud Config和Spring Cloud Bus相互配合刷新指定Client或所有Client的配置文件。
  2. Spring Cloud Security
    1. Spring Cloud Security是對 Spring Security組件的封裝,Spring Cloud Security向服務(wù)單元提供了用戶驗證和權(quán)限驗證 。一般來說,單獨在微服務(wù)系統(tǒng)中使用Spring Cloud Security是很少見的,一般它會配合Spring Security Oauth2組件一起使用,通過搭建授權(quán)服務(wù),通過驗證Token或者JWT這種形式對整個微服務(wù)系統(tǒng)進行安全驗證。
  3. Spring Cloud Sleuth
    1. Spring Cloud Sleuth是一個分布式鏈路追蹤組件,它封裝了Dapper、ZipKin和Kibana等組件,通過它可以知道服務(wù)之間的相互依賴關(guān)系,并實時觀察鏈路的調(diào)用情況。
  4. Spring Cloud Stream
    1. Spring Cloud Stream 是 Spring Cloud框架的數(shù)據(jù)流操作包,可以封裝RabbitMQ、ActiveMQ、Kafka、Redis等消息組件,利用Spring Cloud Stream可以實現(xiàn)消息的接受和發(fā)送。

? 上述列舉了一些常用的Spring Cloud組件。一個簡單的由Spring Cloud構(gòu)建的微服務(wù)系統(tǒng),通過常用服務(wù)注冊中心Eureka、網(wǎng)關(guān)Zuul、配置中心Config和授權(quán)服務(wù)Auth構(gòu)成,如圖所示:

Spring Cloud 簡介

2.1.3 項目一覽

  • Spring Cloud Config:服務(wù)配置中心,將所有的服務(wù)的配置文件放到本地倉庫或者遠程倉庫,配置中心負責(zé)讀取倉庫的配置文件,其他服務(wù)向配置中心讀取配置。Spring Cloud Config將服務(wù)的配置統(tǒng)一管理,并可以在不人為重啟服務(wù)的情況下進行服務(wù)配置的刷新。
  • Spring Cloud Netflix:它是通過包裝Netflix公司的微微服務(wù)組件實現(xiàn)的,也是Spring Cloud核心的核心組件,包括Eureka、Hystrix、Zuul、和Archaius等。
  • Eureka:服務(wù)注冊和發(fā)現(xiàn)組件。
  • Hystrix:熔斷器組件。Hystrix通過控制服務(wù)的API接口的熔斷來轉(zhuǎn)移故障,防止微服務(wù)系統(tǒng)發(fā)生雪崩效應(yīng)。另外。Hystrix能夠起到服務(wù)限流的和服務(wù)降級的作用。使用Hystrix Dasbboard組件監(jiān)控單個服務(wù)的熔斷器的狀態(tài),使用Turbine組件可以聚合多個服務(wù)的熔斷器的狀態(tài)。
  • Zuul:智能路由網(wǎng)關(guān)組件。Netflix Zuul 能夠起到智能路由和請求過濾的作用,是服務(wù)接口統(tǒng)一暴露的關(guān)鍵模塊,也是安全驗證、權(quán)限控制的一道門。
  • Feign:聲明式遠程調(diào)用組件。
  • Ribbon:負載均衡組件
  • Archaius:配置管理API的組件,一個基于Java的配置管理庫,主要用于多配置的動態(tài)獲取
  • Spring Cloud Bus:消息總線組件,常和Spring Cloud Config配合使用,用于動態(tài)刷新服務(wù)的配置。
  • Spring Cloud Sleuth:服務(wù)鏈路追蹤組件,Spring Cloud Data Flow是Spring XD的替代品,也是一個混合計算的模型,可通過命令行的方式操作數(shù)據(jù)流。
  • Spring Cloud Security:安全模塊組件,是對Spring Security的封裝,通常配合OAuth2使用來保護微服務(wù)系統(tǒng)的安全
  • Spring Cloud Consul:該組件是Spring Cloud對Consul的封裝,和Eureka類似,它是另一個服務(wù)注冊和發(fā)現(xiàn)的組件。
  • Spring Cloud ZooKeeper:該組件是Spring Cloud對ZooKeeper的封裝,和Eureka、Consul類似,用于服務(wù)的注冊和發(fā)現(xiàn)。
  • Spring Cloud Stream:數(shù)據(jù)流操作組件,可以封裝Redis、RabbitMQ、Kafka等組件,實現(xiàn)發(fā)送和接收消息等個。
  • Spring Cloud CLL:該組件是Spring Cloud對Spring Boot CLL的封裝,可以讓用戶以命令行方式快速運行和搭建容器。
  • Spring Cloud Task:該組件基于Spring Task,提供了任務(wù)調(diào)度和任務(wù)管理的功能。
  • Spring Cloud Connectors:用于PaaS云平臺連接到后端。

3 Dubbo簡介

? Dubbo是阿里開源的一個分布式服務(wù)框架,致力于提高性能和透明化的RPC遠程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案。Dubbo廣泛用于阿里巴巴的各大站點,有很多互聯(lián)網(wǎng)公司也在使用這個框架。它包含如下核心內(nèi)容:

  • RPC遠程調(diào)用:封裝了長連接NIO框架,如Netty和Mina等,使用的是多線程模式
  • 集群容錯:提供了基于接口方法的遠程調(diào)用的功能,并實現(xiàn)了負載均衡策略、失敗容錯等功。
  • 服務(wù)發(fā)現(xiàn):集成了Apache的Zookeeper組件,用于服務(wù)的注冊和發(fā)現(xiàn)

? Dubbo的架構(gòu)圖如圖所示:

Spring Cloud 簡介

? Dubbo架構(gòu)的流程如下:

  1. 服務(wù)提供者向服務(wù)中心注冊服務(wù)
  2. 服務(wù)消費者訂閱服務(wù)
  3. 服務(wù)消費者發(fā)現(xiàn)服務(wù)
  4. 服務(wù)消費者遠程調(diào)度服務(wù)提供者進行服務(wù)消費,在調(diào)度過程中,使用了負載均衡策略、失敗容錯的功能
  5. 服務(wù)消費者和提供者,在內(nèi)存中記錄服務(wù)的調(diào)用次數(shù)和調(diào)用時間,并定時每分鐘發(fā)送一次統(tǒng)計數(shù)據(jù)到監(jiān)控中心。

? Dubbo是一個非常優(yōu)秀的服務(wù)治理框架,在國內(nèi)互聯(lián)網(wǎng)公司應(yīng)用廣泛,它具有以下特點:

  1. 連通性:注冊中心負責(zé)服務(wù)的注冊:監(jiān)控中心負責(zé)收集調(diào)用次數(shù)、調(diào)用時間;注冊中心、服務(wù)提供者、服務(wù)消費者為長連接
  2. 健壯性:監(jiān)控中心宕機不影響其他服務(wù)的調(diào)用 :注冊中心集群,任意一個實例宕機自動切換到另一個注冊中心實例;服務(wù)實例集群,任意一個實例宕機,自動切換到一個可用的實例
  3. 伸縮性:可以動態(tài)增減注冊中心和服務(wù)的實例數(shù)量。
  4. 升級性:服務(wù)集群升級,不會對現(xiàn)有的架構(gòu)產(chǎn)生壓力。

4 Spring Cloud 與 Dubbo比較

? 首先從微服務(wù)關(guān)注點來比較Spring Cloud和Dubbo兩大服務(wù)框架,如表所示:

微服務(wù)關(guān)注點 Spring Cloud Dubbo
配置管理 Config ——
服務(wù)發(fā)現(xiàn) Eureka、Consul、Zookeeper Zookeeper
負載均衡 Ribbon 自帶
網(wǎng)關(guān) Zuul ——
分布式追蹤 Spring Cloud Sleuth ——
容錯 Hystrix 不完善
通信方式 HTTP、Message RPC
安全模塊 Spring Cloud Security ——

? Spring Cloud擁有很多的項目模塊,包含了微服務(wù)系統(tǒng)的方方面面。Dubbo是一個非常優(yōu)秀的服務(wù)治理和服務(wù)調(diào)用框架,但缺少很多功能模塊,例如網(wǎng)關(guān)、鏈路追蹤等。在項目模塊上,Spring Cloud更具有優(yōu)勢。

? Spring Cloud的更新速度非???,Camden.SR5版本發(fā)布于2017年2月,Camden.SR6版本發(fā)布于2017年3月,Dalston版本發(fā)布于2017年4月,F(xiàn)inchley版本發(fā)布于2018年6月,Greenwich版本發(fā)布于2019年2月,基本每年發(fā)布1~2次版本,每月會發(fā)一次版本的迭代。從GitHub的代碼倉庫來看,Spring Cloud幾乎每天都在更新。阿里巴巴于2011年10月開源了Dubbo,開源后的Dubbo發(fā)展迅速,大概每23個月有一次版本更新。然而,從在2013年3月開始,Dubbo暫停了版本更新,并只在2014年10月發(fā)布了一個小版本,修復(fù)了一個Bug,之后長期處于版本停止更新的狀態(tài)。直到2017年9月,阿里巴巴中間件部門重新組建了Dubbo團隊,把Dubbo列為重點開源項目,并在2017年911月之間,一直保持每月一次版本更新的頻率。

? 從學(xué)習(xí)成本上考慮,Dubbo的版本趨于穩(wěn)定,文檔完善,可以即學(xué)即用,沒有太大難度。Spring Cloud基于Spring Boot開發(fā),需要開發(fā)者先學(xué)會Spring Boot。另外,Spring Cloud版本迭代快,需要快速跟進學(xué)習(xí)。Spring Cloud文檔大都是英文的,要求學(xué)習(xí)者有一定的英文閱讀能力。此外,Spring Cloud文檔很多,不容易快速找到相應(yīng)的文檔。

? 從開發(fā)風(fēng)格上來講,Dubbo更傾向于Spring Xml的配置方式,Dubbo官方也是推薦這種方式。Spring Cloud基于Spring Boot,Spring Boot采用的是基于注解和JavaBean配置方式的敏捷開發(fā)。從開發(fā)速度上講,Spring Cloud具有更高的開發(fā)和部署速度。

? 最后。Spring Cloud的通信方式大多數(shù)是基于HTTP Restful風(fēng)格的,服務(wù)與服務(wù)之間完全無關(guān)、無耦合。由于采用的是HTTP Rest,因此服務(wù)無關(guān)乎語言和平臺,只需要提供響應(yīng)的API接口,就可以相互調(diào)用。Dubbo的通信方式基于遠程調(diào)用,對接口、平臺和語言有強依賴性。如果需要實現(xiàn)跨平臺調(diào)用服務(wù),需要寫額外的中間件,這也是Dubbox(支持HTTP協(xié)議)存在的原因。

? Dubbo和Spring Cloud擁有各自的優(yōu)缺點,Dubbo更容易上手,并且廣泛使用于阿里巴巴的各大站點,經(jīng)歷了 “雙11” 期間高并發(fā)、大流量的檢驗,Dubbo框架非常成熟和穩(wěn)定。Spring Cloud服務(wù)框架嚴格遵守Martin Fowle提出的微服務(wù)規(guī)范,社區(qū)異?;钴S,它很可能成為微服務(wù)架構(gòu)的標準。

5 Kubernetes 簡介

? Kubermetes是一個容器集群管理系統(tǒng),為容器話的應(yīng)用程序提供部署運行、維護、擴展、資源調(diào)度、服務(wù)發(fā)現(xiàn)等功能。

? Kubermetes是Google運行Borg大規(guī)模系統(tǒng)達15年之久的一個經(jīng)驗總結(jié)。Kubermetes結(jié)合了社區(qū)的最佳創(chuàng)意和實踐,旨在幫助開發(fā)人員將容器打包、動態(tài)編排,同時幫助各大公司向微服務(wù)方向進行 技術(shù)演進。它具有以下特點:

  • Planet Scale(大容量):使用Kubermetes的各大公司(包括Google)每周運行了數(shù)十億個容器,這些容器的平臺采用同樣的設(shè)計原則。這些平臺在不增加DevOps團隊成員的情況下,可以讓容器數(shù)量增加,節(jié)省了人力成本,達到了復(fù)用性。
  • Never Outgrow(永不過期):無論容器是運行在一個小公司的測試環(huán)境中,還是運行在一個全球化企業(yè)的大型系統(tǒng)里,Kubermetes都能靈活的滿足復(fù)雜的需求。同時,無論業(yè)務(wù)多么復(fù)雜,Kubermetes都能穩(wěn)定的提供服務(wù)。
  • Run Anywhere(隨時隨地運行):Kubermetes是開源的,可以自由的利用內(nèi)部、混合或公共云的基礎(chǔ)組件進行部署,讓開發(fā)者可以將更多的時間和精力投入在業(yè)務(wù)上,而不是服務(wù)部署上。

? Kubermetes開源免費,是Google在過去15年時間里部署、管理微服務(wù)的經(jīng)驗結(jié)晶,所以目前Kubermetes在技術(shù)社區(qū)也是十分火熱。下面來看它提供的功能。

  • Automatic Binpacking(自動包裝):根據(jù)程序自身的資源需求和一些其他方面的需求自動配置容器。Kubermetes能夠最大化的利用及其的工作負載,提高資源的利用率。
  • Self-healing(自我修復(fù)):容器失敗自動重啟,當節(jié)點處于 “死機” 的狀態(tài)時,它會被替代并重新編排;當容器達到用戶設(shè)定的無響應(yīng)的閾值時,它會被剔除,并且不讓其它容器調(diào)用它,直到它恢復(fù)服務(wù)。
  • Horizontal Scaling(橫向擴展):可以根據(jù)機器的CPU的使用率來調(diào)整容器的數(shù)量,只需開發(fā)人員在管理界面上輸入幾個命令即可。
  • Service Discovery and Load Balancing(服務(wù)發(fā)現(xiàn)和負載均衡):在不需要修改現(xiàn)有的應(yīng)用程序代碼的情況下,便可使用服務(wù)的發(fā)現(xiàn)機制。Kubermetes為容器提供了一個虛擬網(wǎng)絡(luò)環(huán)境,每個容器擁有獨立的IP地址和DNS名稱,容器之間發(fā)現(xiàn)了負載均衡。
  • Automated Rollouts and Rollbacks(自動部署或回滾):Kubermetes支撐滾動更新模式,能逐步替換掉當前環(huán)境的應(yīng)用程序和配置,同時監(jiān)視應(yīng)用程序運行狀況,以確保不會同時殺死所有實例。如果出現(xiàn)問題,Kubermetes支持回滾更改。
  • Secret and Configuration Managenent(配置管理):部署和更新應(yīng)用程序的配置,不需要重新打鏡像,并且不需要在堆棧中暴露配置。
  • Storage Orchestration(存儲編排):自動安裝所有選擇的存儲系統(tǒng),無論是本地存儲、公共云提供商(如GCP或AWS),還是網(wǎng)絡(luò)存儲系統(tǒng)(如NFS、iSCSI、Gluster、Ceph、Cinder或Flocker)
  • Batch execution(批量處理):除了服務(wù)之外,Kubermetes還可以管理批量處理和CI的工作負載,如果需要,可以替換容器,如NFS、iSCSI、Gluster、Ceph、Cinder或Flocker等。

? 從Kubermetes提供的功能來看,Kubermetes完全可以成為構(gòu)建和部署微服務(wù)的一個工具,它是從服務(wù)編排上實現(xiàn)的,而不是代碼實現(xiàn)的。目前國外有很多知名的公司在使用Kubermetes,如Google、eBay、Pearson等 。由于它的開源免費,Microsoft、VMWare、RedHat、CoreOS等公司紛紛加入并貢獻代碼。Kubermetes技術(shù)吸引了一大批公司和技術(shù)愛好者,它已經(jīng)成為容器管理的領(lǐng)導(dǎo)者。

6 Spring Cloud 與 Kubermetes 比較

? Spring Cloud是一個構(gòu)建微服務(wù)的框架,而Kubermetes是通過運行的容器的編排來實現(xiàn)構(gòu)建微服務(wù)的。兩者從構(gòu)建微服務(wù)的角度和實現(xiàn)方式有很大的不同,但它們提供了構(gòu)建微服務(wù)所需要的全部功能。從提供的微服務(wù)所需的功能上看,兩者不分上下,如表所示:

微服務(wù)關(guān)注點 Spring Cloud Kubermetes
配置管理 Config Kubermetes ConfigMap
服務(wù)發(fā)現(xiàn) Eureka、Consul、Zoopeeper Kubermetes Services
負載均衡 Ribbon Kubermetes Services
網(wǎng)關(guān) Zuul Kubermetes Services
分布式追蹤 Spring Cloud Sleuth Open tracing
容錯 Hystrix Kubermetes Health Check
安全模塊 Spring Cloud Security ——
分布式日志 ELK EFK
任務(wù)管理 Spring Boot Kubermetes Jobs

? Spring Cloud 通過眾多的數(shù)據(jù)庫來實現(xiàn)微服務(wù)系統(tǒng)所需的各個組件,同時不斷集成優(yōu)秀的組件,所以Spring Cloud組件是非常完善的。Spring Cloud基于Spring Boot框架,有快速開發(fā)、快速部署的有點。對于Java開發(fā)者來說,學(xué)習(xí)Spring Cloud的成本不高

? Kubermetes在編排上解決微服務(wù)的各個功能,例如服務(wù)發(fā)現(xiàn)、配置管理、負載均衡、容錯等。Kubermetes不局限于Java平臺,也不局限于語言,開發(fā)者可以自由選擇開發(fā)語言進行項目開發(fā)。

? 與Kubermetes相比,Spring Cloud具有以下有點:

  1. 采用Java語言開發(fā),基于Spring平臺,繼承了Spring Boot快速開發(fā)的優(yōu)勢,是Java程序員實現(xiàn)微服務(wù)的最佳實踐
  2. Spring Cloud有大量的類庫和資源,基本上能解決所有可能出現(xiàn)的問題。

? 與Kubermetes相比,Spring Cloud具有以下有點:

  1. 依賴于Java語言,不支持跨語言
  2. Spring Cloud需要在代碼中關(guān)注微服務(wù)的功能點,例如服務(wù)發(fā)現(xiàn)、負載均衡等。Kubermetes則不要關(guān)注這些。

? 下面介紹Kubermetes的有點和缺點:

  • 優(yōu)點:
    1. Kubermetes支持多種語言,并且是一個容器管理平臺。Kubermetes使程序容器化,并在容器管理上提供了微服務(wù)的功能,例如配置管理、服務(wù)發(fā)現(xiàn)、負載均衡等。Kubermetes能夠被運用于多種場合,例如程序開發(fā)、測試環(huán)境、創(chuàng)建環(huán)境等。
    2. Kubermetes除了提供基本的構(gòu)建微服務(wù)的功能外,還提供了環(huán)境、資源限制、管理應(yīng)用程序的生命周期的功能。Kubermetes更像是是一個平臺,而Spring Cloud是一個框架
  • 缺點
    1. Kubermetes面向DevOps人員,普通的開發(fā)人員需要學(xué)習(xí)很多這方面的知識,學(xué)習(xí)成本非常高。
    2. Kubermetes任然是一個相對較新的平臺,發(fā)展十分能迅速。新特性更新得快,所以需要DevOps人員跟進,不斷的學(xué)習(xí)

? Spring Cloud嘗試從Java類庫來實現(xiàn)微服務(wù)的所有功能,而Kubermetes嘗試從容器編排上實現(xiàn)所有的微服務(wù)功能,兩者的實現(xiàn)角度和方式不一樣,個人覺得,兩者最終的實現(xiàn)功能和效果上不分勝負,但從實現(xiàn)的方式上來講,Kubermetes略勝一籌。Kubermetes面向DevOps人員,學(xué)習(xí)成本高。Spring Cloud有很多的類庫。以Spring為基礎(chǔ),繼承了Spring Boot快速開發(fā)的優(yōu)點,為Java程序員開發(fā)微服務(wù)提供了很好的體驗,學(xué)習(xí)成本也較低。所以二者比較,各有優(yōu)勢。沒有最好的框架,也沒有最好的工具,關(guān)鍵是要適合業(yè)務(wù)需求和滿足業(yè)務(wù)場景。

7 總結(jié)

? 首先介紹了微服務(wù)應(yīng)該具備的功能,然后介紹了Spring Cloud和Spring Cloud的基本組件,最后介紹了Spring Cloud與Dubbo、Kubermetes之間的比較,以及它們的優(yōu)缺點。Spring Cloud作為Java語言的微服務(wù)落地框架,有很多的微服務(wù)組件。
本高。Spring Cloud有很多的類庫。以Spring為基礎(chǔ),繼承了Spring Boot快速開發(fā)的優(yōu)點,為Java程序員開發(fā)微服務(wù)提供了很好的體驗,學(xué)習(xí)成本也較低。所以二者比較,各有優(yōu)勢。沒有最好的框架,也沒有最好的工具,關(guān)鍵是要適合業(yè)務(wù)需求和滿足業(yè)務(wù)場景。

7 總結(jié)

? 首先介紹了微服務(wù)應(yīng)該具備的功能,然后介紹了Spring Cloud和Spring Cloud的基本組件,最后介紹了Spring Cloud與Dubbo、Kubermetes之間的比較,以及它們的優(yōu)缺點。Spring Cloud作為Java語言的微服務(wù)落地框架,有很多的微服務(wù)組件。文章來源地址http://www.zghlxwxcb.cn/news/detail-401335.html

到了這里,關(guān)于Spring Cloud 簡介的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • spring cloud使用git作為配置中心,git開啟了雙因子認證,如何寫本地配置文件

    spring cloud使用git作為配置中心,git開啟了雙因子認證,死活認證不成功!!?。?! 報錯 org.eclipse.jgit.api.errors.TransportException: https://git.qualink.com/zhaoxin15/sc-config.git: not authorized 或者就是 java.net.ConnectException: Connection refused: connect 如果你的git也開啟了雙因子認證,那么配置

    2024年02月11日
    瀏覽(19)
  • 二、Spring Cloud Eureka 簡介、快速入門

    二、Spring Cloud Eureka 簡介、快速入門

    Eureka 來源于古希臘詞匯,意為“發(fā)現(xiàn)了”。在軟件領(lǐng)域, Eureka 是 Netflix 在線影片公司開源的一個 服務(wù)注冊與發(fā)現(xiàn)的組件 ,和其他 Netflix 公司的服務(wù)組件(例如負載均衡、熔斷器、網(wǎng)關(guān)等) 一起,被 Spring Cloud 社區(qū)整合為 Spring Cloud Netflix 模塊。 Eureka 是 Netflix 貢獻給 Spring

    2024年02月12日
    瀏覽(93)
  • 微服務(wù) 第三章 Spring Cloud 簡介

    微服務(wù) 第三章 Spring Cloud 簡介

    第一章 Java線程池技術(shù)應(yīng)用 第二章 CountDownLatch和Semaphone的應(yīng)用 第三章 Spring Cloud 簡介 Spring Cloud 并不是一個拿來即可用的框架,它是一種微服務(wù)規(guī)范,共有以下 2 代實現(xiàn): 第一代實現(xiàn):Spring Cloud Netflix 第二代實現(xiàn):Spring Cloud Alibaba Spring Cloud 組件 描述 Spring Cloud Netflix Eureka Sp

    2024年02月08日
    瀏覽(31)
  • 【OAuth2系列】Spring Cloud Gateway 作為OAuth2 Client接入第三方單點登錄代碼實踐

    【OAuth2系列】Spring Cloud Gateway 作為OAuth2 Client接入第三方單點登錄代碼實踐

    ? ? ? ? 在年初的時候我參與了一個項目,當時是很多家公司協(xié)同完成這個項目,其中一個公司專門負責(zé)登錄這塊的內(nèi)容,需要我們的后端接入他們的單點登錄(OAuth2 授權(quán)碼模式),這塊接入工作是由我來負責(zé),我們的項目是微服務(wù)架構(gòu),經(jīng)過網(wǎng)上各種查閱資料發(fā)現(xiàn)網(wǎng)關(guān)作為

    2024年02月04日
    瀏覽(24)
  • Spring Cloud 之 Sentinel簡介與GATEWAY整合實現(xiàn)

    Spring Cloud 之 Sentinel簡介與GATEWAY整合實現(xiàn)

    隨著微服務(wù)的流行,服務(wù)和服務(wù)之間的穩(wěn)定性變得越來越重要。Sentinel 是面向分布式服務(wù)架構(gòu)的流量控制組件,主要以流量為切入點,從限流、流量整形、熔斷降級、系統(tǒng)負載保護、熱點防護等多個維度來幫助開發(fā)者保障微服務(wù)的穩(wěn)定性。 熔斷 微服務(wù)架構(gòu)的系統(tǒng)通常會包含

    2024年02月19日
    瀏覽(21)
  • Spring Cloud學(xué)習(xí)筆記:Eureka簡介,Eureka簡單樣例

    Spring Cloud學(xué)習(xí)筆記:Eureka簡介,Eureka簡單樣例

    這是本人學(xué)習(xí)的總結(jié),主要學(xué)習(xí)資料如下 - 馬士兵教育 Eureka 是 SpringCloud Nexflix 的核心子模塊,其中包含 Server 和 Client 。 Server 提供服務(wù)注冊,存儲所有可用服務(wù)節(jié)點。 Client 用于簡化和 Server 的通訊復(fù)雜度。 下面是 Eureka 的簡單架構(gòu)圖 每一個服務(wù)節(jié)點需要在 Eureka Server 中注冊

    2024年04月16日
    瀏覽(102)
  • Java語言B/S智慧工地云平臺源碼(微服務(wù)+Java+Spring Cloud +UniApp +MySql)

    Java語言B/S智慧工地云平臺源碼(微服務(wù)+Java+Spring Cloud +UniApp +MySql)

    目錄 勞務(wù)管理 視頻監(jiān)控 綠色施工 危大工程管理 綠色施工——環(huán)境與能耗 高效施工——進度管控 文明施工——勞務(wù)管理 智慧工地建設(shè)效益 ? ? 智慧工地云平臺源碼技術(shù)架構(gòu):微服務(wù)+Java+Spring Cloud +UniApp +MySql ??????智慧工地管理平臺是依托 物聯(lián)網(wǎng)、互聯(lián)網(wǎng)、AI、可視化建

    2024年04月16日
    瀏覽(28)
  • 云原生簡介 (Cloud Native)

    云原生的概念誕生于10年前,netflix 在 AWS 上的一次演講中。有趣的是當初沒有明確的定義,現(xiàn)在也沒有明確的定義,對不同的人來說,有不同的概念。 云原生:是在云上構(gòu)建更具有可用性和擴展性的網(wǎng)絡(luò)應(yīng)用程序的藍圖。提供高敏捷型,在不影響應(yīng)用可用性的情況下快速發(fā)布

    2024年02月10日
    瀏覽(16)
  • 【Spring Cloud】如何確定微服務(wù)項目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本

    【Spring Cloud】如何確定微服務(wù)項目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本

    本文描述如何確定微服務(wù)項目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本。 我們知道Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本選擇一致性非常重要。在選擇Spring Boot和Spring Cloud版本時,需要考慮到兩者之間的關(guān)系以及項目的具體需求。 首先,Spring Boot和Spring Cloud有密切

    2024年02月08日
    瀏覽(99)
  • Spring Cloud和Spring Cloud Alibaba

    Spring Cloud和Spring Cloud Alibaba

    Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理、服務(wù)發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線、一次性令牌、全局鎖、領(lǐng)導(dǎo)層選舉、分布式對話、集群狀態(tài))。分布式系統(tǒng)的協(xié)調(diào)導(dǎo)致了鍋爐板模式,使用Spring Cloud開發(fā)人員可以快速

    2024年04月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包