當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringCloud与dubbo的区别
生活随笔
收集整理的這篇文章主要介紹了
SpringCloud与dubbo的区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們來看一下SpringCloud和Dubbo的區(qū)別,我們準(zhǔn)備了一個(gè)表格,會(huì)從這五個(gè)維度,出身背景,活躍度,文檔質(zhì)量,性能,功能,從5個(gè)維度來做SpringCloud和Dubbo的對比
Dubbo它是出自阿里系的,阿里的一個(gè)產(chǎn)品,他的核心框架就是服務(wù)治理,SpringCloud它是出自Spring社區(qū),核心框架是Netflix開源微服務(wù)架構(gòu)群體,這是他兩個(gè)出生背景,我們再來看活躍度,我們從三個(gè)指標(biāo)上來做對比,第一個(gè)是社區(qū)活躍度,第二個(gè)是百度指數(shù),第三個(gè)是招聘崗位,我們先看第一個(gè)社區(qū)活躍度,我們先去Dubbo的官網(wǎng)上看一下,他的社區(qū)活躍度是否高,現(xiàn)在Dubbo已經(jīng)遷移到Apache上,所以Dubbo的官網(wǎng)是dubbo.apache.orghttp://dubbo.apache.org/en-us/我們打開了Dubbo的首頁,有一個(gè)View on githubhttps://github.com/apache/dubbo然后我們來看一下社區(qū)活躍度,我們會(huì)發(fā)現(xiàn)Dubbo更新的頻率是比較頻繁的,通過這個(gè)我們可以看到,Dubbo的社區(qū)活躍度還是比較高的,我們再來看看SpringCloud的活躍度,我們還是從github上來看github.com/spring-cloudhttps://github.com/spring-cloud看他的社區(qū)活躍度,他的社區(qū)活躍度也挺高的,他還比Dubbo的更新頻繁更快一些,說明他的活躍度更強(qiáng)一些,沒有說隔很長的一個(gè)時(shí)間,一個(gè)月兩個(gè)月不更新,沒有達(dá)到這樣一個(gè)現(xiàn)象,所以從社區(qū)活躍度這個(gè)角度來看呢,Dubbo和Spring Cloud的活躍度差不多,相差不多,但是Spring Cloud相對更活躍一些,這是他的社區(qū)活躍度,然后我們再來看百度指數(shù),我們通過百度指數(shù),可以看到這兩個(gè)技術(shù),被搜索的次數(shù),看看Dubbo和Spring Cloud這兩個(gè)技術(shù),搜索的技術(shù)上有什么區(qū)別,我們先來訪問一下百度,然后百度指數(shù),進(jìn)入到百度指數(shù)官網(wǎng)http://index.baidu.com/v2/index.html?from=pinzhuan#/我們先去搜一下dubbohttp://index.baidu.com/v2/main/index.html#/trend/dubbo?words=dubbo在這里就可以看到Dubbo進(jìn)7天關(guān)鍵字搜索的次數(shù),整體日均值是2570次,這是他的日均指數(shù),我們再來看一下SpringCloud的http://index.baidu.com/v2/main/index.html#/trend/dubbo?words=dubbo,spring%20cloudDubbo出現(xiàn)的時(shí)間點(diǎn)比SpringCloud要早好多,所以很多項(xiàng)目當(dāng)中都用到Dubbo了,而SpringCloud是最近才出的平臺(tái),所以好多項(xiàng)目當(dāng)中呢,還沒有真正的使用SpringCloud,即便是使用了,也是一些嘗試的使用,比如做一些小型的項(xiàng)目,嘗試的用一下SpringCloud,所以他的搜索次數(shù)沒有Dubbo的多,這也是能理解的,其實(shí)在文檔質(zhì)量這一塊呢,Dubbo的文檔比較集中,而且健全,還有一個(gè)最大的優(yōu)勢呢,Dubbo的好多文檔都是中文的,因?yàn)檫@個(gè)技術(shù)出自于我們國內(nèi)的阿里,馬云考慮到了我們國內(nèi)的程序員英語都不咋地,所以提供了很多的中文文檔,當(dāng)然這只是個(gè)玩笑,Spring Cloud他提供的文檔也比較多,但是但部分內(nèi)容,到目前來看,還是英文的比較多,我相信隨著時(shí)間的沉淀,我們有好多的程序員呢,會(huì)把英文文檔呢,翻譯成中文文檔,貢獻(xiàn)出來,所以這也是一個(gè)時(shí)間的問題,這是他兩文檔質(zhì)量的一個(gè)對比,然后我們再來看性能,其實(shí)性能也非常重要,因?yàn)槲覀冊谧黾夹g(shù)選型的時(shí)候,其中有一項(xiàng)指標(biāo)就是,要考慮技術(shù)的性能怎么樣,我們肯定要選擇性能要高一些的技術(shù)來用,但是性能又不是一個(gè)決定的因數(shù),并不是我什么東西只考慮性能,不是這樣的,只是我們考慮技術(shù)的一個(gè)點(diǎn),并不是全部的,我們再來看一下性能,性能怎么看呢,我在這里給大家準(zhǔn)備了一篇文章https://mp.weixin.qq.com/s?__biz=MzA5MzQ2NTY0OA==&mid=2650796496&idx=1
&sn=a544b76660484b9914b65f038cc39e6d
&chksm=88562c8fbf21a5995909ffa9f172f31651b1ebd04897917e43caef3491954e24ed0d0477a5a1
&mpshare=1
&scene=23
&srcid=01245faqrBlQETYK9c7zVmd3#rd孰優(yōu)孰劣?Dubbo VS Spring Cloud性能測試大對決!在這里有一個(gè)Dubbo和SpringCloud性能的一個(gè)對比,我們從這里測試出來的數(shù)據(jù)呢,也能看出性能之間的差異,最近我們試圖從Dubbo切換到Spring Cloud,分別進(jìn)行了性能的一個(gè)測試,為了得出數(shù)據(jù)量不同的情況下二者的性能表現(xiàn),我們分別準(zhǔn)備了25個(gè)屬性的POJO和一個(gè)50個(gè)屬性的POJO,通過這樣的方式我們也可以間接地了解二者在序列化方面的水平差異,以下是測試結(jié)果我們來看一下,首先是測試25個(gè)屬性的POJO,然后次數(shù)是10萬次,然后我們來看一下,發(fā)送10W次請求,傳輸1個(gè)POJO對象,每個(gè)請求單位是毫秒,線程數(shù)也是做了一個(gè)改變的,有10個(gè)線程數(shù)的,20個(gè)線程數(shù)的,有50個(gè)線程數(shù),有100個(gè)線程數(shù)的,以及200個(gè)線程,那我們來看一下在不同線程數(shù)的,我們SpringCloud的耗時(shí)還是有很大區(qū)別的,比如10個(gè)線程下,Dubbo的耗時(shí)是2.72毫秒,注意耗時(shí)的時(shí)間越低,說明性能越好,然后SpringCloud是4毫秒,這是4個(gè)線程,20個(gè)線程是2.32毫秒,而SpringCloud是2.81,到最后200個(gè)線程的時(shí)候呢,Dubbo是26.06,SpringCloud是57.12毫秒,那么對25個(gè)屬性做序列化,10萬次基于不同的線程,不管哪個(gè)線程來看,其實(shí)Dubbo的性能要高于SpringCloud的性能,1:3的情況,Dubbo的性能可以理解為Dubbo的3倍,優(yōu)于3倍的性能,下面是柱狀圖我們就不看了,就是表格用柱狀圖來表示,然后還是25個(gè)屬性的POJO,然后去做了一個(gè)TPS的測試,大家應(yīng)該知道TPS吧,TPS就是事務(wù)傳播次數(shù),那么這個(gè)值是越大越好,看看他每秒傳播的次數(shù)有多少,線程數(shù)10個(gè)線程,20個(gè)線程,一直到200個(gè)線程,在Dubbo傳播10個(gè)POJO對象,在10個(gè)線程下,是3571個(gè),注意這個(gè)次數(shù),這個(gè)TPS,每秒事務(wù)傳播的次數(shù),這個(gè)值越大越好,這個(gè)傳播的次數(shù)越多,說明性能越強(qiáng),所以在10個(gè)線程下呢,Dubbo是3571,而SpringCloud是2436次,然后在50個(gè)線程下呢,Dubbo是6637次,SpringCloud是3116次,200個(gè)線程是6923次,SpringCloud是3003次,所以說通過這個(gè)性能對比,通過TPS的性能對比,其實(shí)Dubbo的性能也是由于SpringCloud的,Dubbo也是SpringCloud的3倍,然后這個(gè)是他的一個(gè)柱狀圖,我們再看下看,上面都是傳輸一個(gè)POJO,接下來還是發(fā)送10W次請求,傳輸10個(gè)POJO對象,我們來看10個(gè)線程,10個(gè)線程,一直到200個(gè)線程,Dubbo是2.86,SpringCloud是6.71,單位還是毫秒,然后200個(gè)線程Dubbo是2.56,SpringCloud是113.38,所以還是Dubbo的性能是優(yōu)于SpringCloud,大概也是他的3倍左右,然后再看傳輸10個(gè)POJO的TPS,每秒傳播事務(wù)的次數(shù),Dubbo10個(gè)線程是3446次,SpringCloud才是1445次,以此類推直到200個(gè)線程,Dubbo是4265次,SpringCloud是1589次,從這個(gè)對比來看,Dubbo的性能也是要優(yōu)于SpringCloud,然后下面就是柱狀圖,上面這些都是25個(gè)屬性的,然后還對50個(gè)屬性的做了10W次的測試,然后傳輸一個(gè)POJO對象,發(fā)送10W次請求,Dubbo還是10個(gè)線程用了2.98毫秒,然后Spring Cloud用了4.67毫秒,然后200個(gè)線程的時(shí)候呢,Dubbo是用了37.97毫秒,SpringCloud是用了61.76毫秒,Dubbo的性能在這一局也是勝出的,然后呢50個(gè)屬性的POJO,發(fā)送10W次請求,他的TPS,Dubbo的是3285次,SpringCloud是2114次,200個(gè)請求的時(shí)候Dubbo是4844次,SpringCloud是2764次,所以在這一局也是勝出,他的性能也大概是SpringCloud的3倍,最后我們來分析一下,由于SpringCloud與Dubbo天生使用的協(xié)議層面不一樣,前者使用的HTTP,SpringCloud他使用的是HTTP協(xié)議,而后者使用的是TCP協(xié)議,其實(shí)這個(gè)就是一個(gè)短連接和長連接了,HTTP的連接肯定是一個(gè)長連接,而TCP是一個(gè)短連接,那么長連接肯定會(huì)更耗時(shí)一點(diǎn),所以從協(xié)議這一層來看呢,由于SpringCloud是使用了HTTP協(xié)議,多多少少會(huì)有點(diǎn)拖后腿,導(dǎo)致兩個(gè)框架的性能差距略大,基本上是一個(gè)三比一的差距,是這樣的一個(gè)性能上的一個(gè)差距,雖然SpringCloud與Dubbo在性能上有天生的劣勢,但是考慮到SpringCloud作為一款專門的微服務(wù)框架,再加上Restful風(fēng)格API的趨勢,從綜合角度,SpringCloud無疑是你所在公司未來微服務(wù)話進(jìn)程中不可缺少的選擇之一,說明什么了,我們剛才說過,最開始的時(shí)候我說過,我們在技術(shù)選型上,性能是我們考慮的一個(gè)點(diǎn),但是性能不是我們唯一的考慮點(diǎn),雖然說性能高,我們是需要考慮的,我們是要選擇性能高的,但是對于技術(shù)的一個(gè)能力上,也是我們需要考慮的一個(gè)點(diǎn),比如Dubbo的性能比較高,但是他有潛在性的劣勢,他對微服務(wù),對于服務(wù)治理這一塊呢,相比SpringCloud這一塊呢,他還是有自己的弱勢的,所以我畫了功能的一個(gè)維度,也能體現(xiàn)出來,比如功能這一塊,有服務(wù)注冊中心,服務(wù)調(diào)用方式,服務(wù)網(wǎng)關(guān),斷路由,分布式配置,還有服務(wù)追蹤,消息總線,數(shù)據(jù)流,批量任務(wù),這些都是我們在服務(wù)治理當(dāng)中,所需要注意的一個(gè)點(diǎn),那么在這些特點(diǎn)下,其實(shí)我們會(huì)發(fā)現(xiàn),Dubbo他只是在服務(wù)注冊中心上,它是提供了這樣一個(gè)能力,提供了Zookeeper,做他的注冊中心,然后還有服務(wù)調(diào)用方式,RPC,然后服務(wù)網(wǎng)關(guān)沒有,斷路由是集群容錯(cuò),在集群容錯(cuò)下去做斷路由的處理,然后下面的功能是始終沒有的,SpringCloud要比Dubbo的能力要強(qiáng)大一些,是有功能和組件所支持的,所以說呢,Spring從綜合的角度來看呢,SpringCloud的性能要弱于Dubbo,從功能上要強(qiáng)于Dubbo,所以我們在選擇微服務(wù)架構(gòu)平臺(tái)的時(shí)候呢,我們更關(guān)注誰,那我們除了性能以外,還要考慮其他的能力,二者之間沒有說誰強(qiáng)誰弱,技術(shù)并沒有絕對的,只有相對的,那一般我們根據(jù)自己的情況,去做一個(gè)技術(shù)選擇就可以了,我們就從這五個(gè)維度去做了Dubbo和SpringCloud的對比,相信大家可以很直觀的了解,Dubbo和SpringCloud的一個(gè)區(qū)別了
?
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的SpringCloud与dubbo的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RestFul通信风格
- 下一篇: 常见版本号说明