教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線:400-618-4000

Spring Cloud 和dubbo相比哪個(gè)更好用?

更新時(shí)間:2022年10月19日12時(shí)02分 來(lái)源:傳智教育 瀏覽次數(shù):

SpringCloud的優(yōu)勢(shì)

Spring 團(tuán)隊(duì)將來(lái)自 Pivotal、 Netflix、HashiCorp等公司的大量久經(jīng)考驗(yàn)的開(kāi)源項(xiàng)目整合到一個(gè)名為 Spring Cloud 的 Spring 項(xiàng)目中。Spring Cloud 提供了一些庫(kù)和工具來(lái)快速構(gòu)建分布式系統(tǒng)的一些常見(jiàn)設(shè)計(jì)模式,包括:

服務(wù)發(fā)現(xiàn)

JVM 和非 JVM 服務(wù)可以將自己注冊(cè)到服務(wù)注冊(cè)表中,并輕松發(fā)現(xiàn)生態(tài)系統(tǒng)中可用的其他服務(wù)。Spring Cloud Netflix Eureka 或 Consul 可用于此目的。

分布式配置

由 git 存儲(chǔ)庫(kù)支持的集中式外部配置管理。配置資源直接映射到 Spring 環(huán)境,但如果需要,可以由非 Spring 應(yīng)用程序使用。

客戶(hù)端負(fù)載均衡

負(fù)載平衡改善了跨多個(gè)服務(wù)的工作負(fù)載分布。Spring Cloud 提供 Ribbon - 一個(gè)客戶(hù)端負(fù)載均衡器,它與 Service Registry 對(duì)話并使負(fù)載均衡變得容易。

熔斷器

當(dāng)對(duì)服務(wù)的方法調(diào)用失敗時(shí),斷路器允許功能正常降級(jí)。使用斷路器模式可以允許微服務(wù)在相關(guān)服務(wù)發(fā)生故障時(shí)繼續(xù)運(yùn)行,防止故障級(jí)聯(lián)并給故障服務(wù)時(shí)間恢復(fù)。Spring Cloud 提供了 Hystrix,它是斷路器模式的實(shí)現(xiàn)。

網(wǎng)關(guān)

Spring Cloud Gateway 是一款基于 Project Reactor 的智能可編程網(wǎng)關(guān)。

鏈路追蹤

Spring Cloud 提供了 Zepkin 和 Sleuth,可用于 Log Correlation 和 Tracing。這對(duì)于在實(shí)際生產(chǎn)環(huán)境中進(jìn)行深度故障排除非常有幫助。

安全驗(yàn)證

Spring Cloud 通過(guò)使用少量注解來(lái)提供對(duì) OAuth2 服務(wù)器和資源服務(wù)的支持。使用這些庫(kù)可以輕松實(shí)現(xiàn)授權(quán)和身份驗(yàn)證。

spring cloud

Dubbo只是實(shí)現(xiàn)了服務(wù)治理,而SpringCloud子項(xiàng)目覆蓋了微服務(wù)架構(gòu)下的眾多部分,而服務(wù)治理只是其中的一個(gè)方面。Dubbo提供了一個(gè)Filter,用于擴(kuò)展缺失的一些功能,例如:

分布式配置管理:可以使用淘寶的diamond、百度的disconf實(shí)現(xiàn)分布式配置管理

服務(wù)鏈路追蹤:可以使用京東開(kāi)源的Hydra、擴(kuò)展Filter用Zipkin做服務(wù)追蹤

批量任務(wù)處理:可以使用當(dāng)當(dāng)網(wǎng)開(kāi)源的Elastic-Job、TBSchedule

綜合以上簡(jiǎn)單地對(duì)比SpringCloud和Dubbo的優(yōu)勢(shì),我們不難發(fā)現(xiàn)SpringCloud在核心要素上比Dubbo更勝一籌,在開(kāi)發(fā)過(guò)程中只要整合SpringCloud就可以順利完成微服務(wù)組件的融合,而Dubbo要通過(guò)定制擴(kuò)展各種Filter來(lái)實(shí)現(xiàn)組件整合,開(kāi)發(fā)難度稍大。

但是近幾年,我們也發(fā)現(xiàn)一個(gè)現(xiàn)象(或者說(shuō)是趨勢(shì)):SpringCloud和Dubbo兩個(gè)生態(tài)逐步逐步融合在一起。隨著SpringCloud Alibaba的出現(xiàn),Dubbo已經(jīng)可以很好地整合SpringCloud體系進(jìn)行開(kāi)發(fā)了。Dubbo的用戶(hù)可以輕松地接入SpringCloud體系的注冊(cè)中心、配置中心、鏈路追蹤等產(chǎn)品,而無(wú)需去自行擴(kuò)展Filter了。而SpringCloud的用戶(hù),也可以在需要高效的遠(yuǎn)程調(diào)用場(chǎng)景中,輕松引入Dubbo,享受Dubbo的RPC帶來(lái)的性能優(yōu)勢(shì)。

所以說(shuō),雖然SpringCloud更有優(yōu)勢(shì),但SpringCloud和Dubbo逐漸走上融合,兩個(gè)生態(tài)應(yīng)該會(huì)長(zhǎng)期共存,都不會(huì)被淘汰。

0 分享到:
和我們?cè)诰€交談!