比較spring cloud和dubbo

比較spring cloud和dubbo,各自的優(yōu)缺點是什么


dubbo由于是二進制的傳輸隐解,占用帶寬會更少

springCloud是http協(xié)議傳輸鞍帝,帶寬會比較多,同時使用http協(xié)議一般會使用JSON報文煞茫,消耗會更大

dubbo的開發(fā)難度較大帕涌,原因是dubbo的jar包依賴問題很多大型工程無法解決

springcloud的接口協(xié)議約定比較自由且松散,需要有強有力的行政措施來限制接口無序升級

dubbo的注冊中心可以選擇zk,redis等多種续徽,springcloud的注冊中心只能用eureka或者自研

但如果我選蚓曼,我會用springcloud。

從公司整體規(guī)劃:我不會選擇很久沒人維護的dubbo钦扭,重啟之后也未必是原班人馬

從程序員招聘難度:招springcloud的程序員會更好招纫版,因為更新更炫

從系統(tǒng)結(jié)構(gòu)簡易程序:springcloud的系統(tǒng)結(jié)構(gòu)更簡單、“注冊+springmvc=springcloud”客情,而dubbo各種復(fù)雜的Url其弊,protocol,register裹匙,invocation瑞凑,dubbofilter末秃,dubboSPI概页,dubbo序列化..........炫技的成分更多一些

從性能:dubbo的網(wǎng)絡(luò)消耗小于springcloud,但是在國內(nèi)95%的公司內(nèi)练慕,網(wǎng)絡(luò)消耗不是什么太大問題惰匙,如果真的成了問題,通過壓縮铃将、二進制项鬼、高速緩存、分段降級等方法劲阎,很容易解

從開發(fā)難易度:dubbo的神坑是jar包依賴绘盟,開發(fā)階段難度極大,我曾經(jīng)帶一個三十人的團隊悯仙,因為jar包升級問題龄毡,把每個人的電腦都操作過,尤其每個人電腦的庫路徑锡垄、命令沦零、快捷鍵、鍵盤货岭,鼠標(biāo)快慢都不一樣路操,那會兒我默默的在心中艸了dubbo發(fā)明者全家老小一百二十遍疾渴。springcloud比較自由,但帶來的問題是無法“強力約束接口規(guī)范”屯仗,建議用行政方式解決搞坝,且我們團隊的強力行政約束做的還是比較好的,在接口管控層面比較強效魁袜,一個沒有行政組織能力的IT團隊真的是個廢渣瞄沙,用什么框架都不好使。

從后續(xù)改進:dubbo的改進是通過dubbofilter慌核,很多東西沒有距境,需要自己繼承,如監(jiān)控垮卓,如日志垫桂,如限流,如追蹤粟按。springcloud自己帶了很多監(jiān)控诬滩、限流措施,但是功能可能和歐美習(xí)慣相同灭将,國內(nèi)需要進行適當(dāng)改造疼鸟,但更簡單,就是ServletFilter而已庙曙,但是總歸比dubbo多一些東西是好的

從配套措施:springcloud一直宣稱自己是“一套全方面的解決方案”空镜。。捌朴。吴攒。。砂蔽。我起初信了洼怔,后來發(fā)現(xiàn)上當(dāng)了,實話說:有左驾,但是不是很健全镣隶,100分打50的樣子,很多你還需要改造诡右。而DUBBO相反安岂,一直宣稱自己是“一套全方面的服務(wù)化方案”。稻爬。嗜闻。。桅锄。琉雳。純服務(wù)化頂個鳥用样眠,任何系統(tǒng)都是相輔相成配套的,一個完整的系統(tǒng)翠肘,要有前臺檐束、中臺、后臺束倍、前臺包括前端和交互被丧,中臺包括交易、任務(wù)绪妹、數(shù)據(jù)甥桂,后臺包括財務(wù)、賬戶邮旷、管理...........單純的服務(wù)化解決不了“任何問題”黄选,唯有體系才能解決。在這個層面婶肩,springcloud是個往“體系”方向發(fā)展的方案办陷,而dubbo僅是個工具而已,兩者相比律歼,就好比始祖鳥與草履蟲的區(qū)別民镜。

從技術(shù)實力層面:對比雙方的源碼,不得不說dubbo作者的技術(shù)能力要高于springCloud险毁,而springBoot的作者技術(shù)能力要高于dubbo制圈。即:springboot>dubbo>springcloud。我喜歡springboot這種大道至簡的風(fēng)格辱揭,keep it simple and stupid离唐。而dubbo好嘛......你先看看dubboSPI,再看看Protocol$Adpative里面那一群繞來繞去的瞎幾把繞的玩意兒问窃,你會迅速判斷出:這群屌絲在炫技。盡管dubbo從上之下分為十層四五十個組件完沪,第一感官上是哇塞好全面好偉大的樣子域庇,但深入之后你會覺得,這技術(shù)是很炫覆积,設(shè)計的確實很全面听皿,但是用不到,例如:請各位大神給我解釋一下宽档,在zookeeper地址中尉姨,使用逗號分隔和分號分隔地址的區(qū)別。吗冤。又厉。九府。。用途不大覆致,但是代碼里為了這個就走向了“完全不同”的一條分支侄旬。用俗語評價,就是“臃腫且無用代碼過多煌妈,在文檔里還非得為了這個說出123456來”儡羔。說完dubbo再說springCloud........它沒有技術(shù)含量,完全沒有璧诵,就是一堆簡單組件拼裝在一起汰蜘,如configserver、eurekaserver之宿、robin鉴扫、feignClient谒拴、htstrix等翅帜,每個都特別簡單忱辅,沒什么技術(shù)含量宪睹,但我喜歡這種的惠豺,就喜歡這種大道至簡的簡單挣轨。

最后說springBoot抛寝,我要用“純粹”兩個字來評價這個框架涨颜,真的很純粹项滑,并且從其代碼架構(gòu)的總體思路一致性依沮,目標(biāo)的純粹性,具體模塊的干凈利落枪狂,確實是個好框架危喉,值得大家一讀。

從系統(tǒng)應(yīng)用層面:在技術(shù)實力滿分一百能打85分的鄙人的眼中州疾,dubbo和springcloud辜限,不就是兩個框架么?我們是要拯救世界的人严蓖,這倆塊鵝卵石一塊圓的一塊方的薄嫡,能墊腳就行,沒有區(qū)別颗胡。

簡而言之毫深,Dubbo確實類似于Spring Cloud的一個子集,Dubbo功能和文檔完善毒姨,在國內(nèi)有很多的成熟用戶哑蔫,然而鑒于Dubbo的社區(qū)現(xiàn)狀(曾經(jīng)長期停止維護,2017年7月31日團隊又宣布重點維護),使用起來還是有一定的門檻闸迷。

Dubbo具有調(diào)度嵌纲、發(fā)現(xiàn)、監(jiān)控稿黍、治理等功能疹瘦,支持相當(dāng)豐富的服務(wù)治理能力。Dubbo架構(gòu)下巡球,注冊中心對等集群言沐,并會緩存服務(wù)列表已被數(shù)據(jù)庫失效時繼續(xù)提供發(fā)現(xiàn)功能,本身的服務(wù)發(fā)現(xiàn)結(jié)構(gòu)有很強的可用性與健壯性酣栈,足夠支持高訪問量的網(wǎng)站险胰。

雖然Dubbo 支持短連接大數(shù)據(jù)量的服務(wù)提供模式,但絕大多數(shù)情況下都是使用長連接小數(shù)據(jù)量的模式提供服務(wù)使用的矿筝。所以起便,對于類似于電商等同步調(diào)用場景多并且能支撐搭建Dubbo 這套比較復(fù)雜環(huán)境的成本的產(chǎn)品而言,Dubbo 確實是一個可以考慮的選擇窖维。但如果產(chǎn)品業(yè)務(wù)中由于后臺業(yè)務(wù)邏輯復(fù)雜榆综、時間長而導(dǎo)致異步邏輯比較多的話,可能Dubbo 并不合適铸史。同時鼻疮,對于人手不足的初創(chuàng)產(chǎn)品而言,這么重的架構(gòu)維護起來也不是很方便琳轿。

Spring Cloud由眾多子項目組成判沟,如Spring Cloud Config、Spring Cloud Netflix崭篡、Spring Cloud Consul 等挪哄,提供了搭建分布式系統(tǒng)及微服務(wù)常用的工具,如配置管理琉闪、服務(wù)發(fā)現(xiàn)迹炼、斷路器、智能路由塘偎、微代理疗涉、控制總線、一次性token吟秩、全局鎖、選主绽淘、分布式會話和集群狀態(tài)等涵防,滿足了構(gòu)建微服務(wù)所需的所有解決方案。比如使用Spring Cloud Config 可以實現(xiàn)統(tǒng)一配置中心,對配置進行統(tǒng)一管理壮池;使用Spring Cloud Netflix 可以實現(xiàn)Netflix 組件的功能 - 服務(wù)發(fā)現(xiàn)(Eureka)偏瓤、智能路由(Zuul)、客戶端負(fù)載均衡(Ribbon)椰憋。

但它并沒有重復(fù)造輪子厅克,而是選用目前各家公司開發(fā)的比較成熟的、經(jīng)得住實踐考驗的服務(wù)框架(我們需要特別感謝Netflix 橙依,這家很早就成功實踐微服務(wù)的公司证舟,幾年前把自家?guī)缀跽麄€微服務(wù)框架棧貢獻給了社區(qū),Spring Cloud主要是對Netflix開源組件的進一步封裝)窗骑,通過Spring Boot 進行封裝集成并簡化其使用方式女责。基于Spring Boot创译,意味著其使用方式如Spring Boot?簡單易用抵知;能夠與Spring Framework、Spring Boot软族、Spring Data 等其他Spring 項目完美融合刷喜,意味著能從Spring獲得巨大的便利,意味著能減少已有項目的遷移成本立砸。

其實掖疮,從社區(qū)活躍度和功能完整度,再對照業(yè)務(wù)需求和團隊狀況仰禽,基本可以確定如何選型氮墨。這里分享網(wǎng)易考拉海購實踐以及團隊選型的心聲:

當(dāng)前開源上可選用的微服務(wù)框架主要有Dubbo、Spring Cloud等吐葵,鑒于Dubbo完備的功能和文檔且在國內(nèi)被眾多大型互聯(lián)網(wǎng)公司選用规揪,考拉自然也選擇了Dubbo作為服務(wù)化的基礎(chǔ)框架。其實相比于Dubbo温峭,Spring Cloud可以說是一個更完備的微服務(wù)解決方案猛铅,它從功能性上是Dubbo的一個超集,個人認(rèn)為從選型上對于一些中小型企業(yè)Spring Cloud可能是一個更好的選擇凤藏。提起Spring Cloud奸忽,一些開發(fā)的第一印象是http+JSON的rest通信,性能上難堪重用揖庄,其實這也是一種誤讀栗菜。

微服務(wù)選型要評估以下幾點:內(nèi)部是否存在異構(gòu)系統(tǒng)集成的問題;備選框架功能特性是否滿足需求蹄梢;http協(xié)議的通信對于應(yīng)用的負(fù)載量會否真正成為瓶頸點(Spring Cloud也并不是和http+JSON強制綁定的疙筹,如有必要Thrift、protobuf等高效的RPC、序列化協(xié)議同樣可以作為替代方案)而咆;社區(qū)活躍度霍比、團隊技術(shù)儲備等。作為已經(jīng)沒有團隊持續(xù)維護的開源項目暴备,選擇Dubbo框架內(nèi)部就必須要組建一個維護團隊悠瞬,先不論你要準(zhǔn)備要集成多少功能做多少改造,作為一個支撐所有工程正常運轉(zhuǎn)的基礎(chǔ)組件涯捻,問題的及時響應(yīng)與解答浅妆、重大缺陷的及時修復(fù)能力就已足夠重要。

詳見網(wǎng)易考拉海購Dubbok框架優(yōu)化詳解

鑒于服務(wù)發(fā)現(xiàn)對服務(wù)化架構(gòu)的重要性汰瘫,再補充一點:Dubbo 實踐通常以ZooKeeper 為注冊中心(Dubbo 原生支持的Redis 方案需要服務(wù)器時間同步狂打,且性能消耗過大)。針對分布式領(lǐng)域著名的CAP理論(C——數(shù)據(jù)一致性混弥,A——服務(wù)可用性趴乡,P——服務(wù)對網(wǎng)絡(luò)分區(qū)故障的容錯性),Zookeeper 保證的是CP 蝗拿,但對于服務(wù)發(fā)現(xiàn)而言晾捏,可用性比數(shù)據(jù)一致性更加重要 ,而 Eureka 設(shè)計則遵循AP原則?哀托。

作者:純潔的微笑

鏈接:https://www.zhihu.com/question/45413135/answer/128315403

來源:知乎

著作權(quán)歸作者所有惦辛。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處仓手。

為什么選擇使用Spring Cloud而放棄了Dubbo

可能大家會問胖齐,為什么選擇了使用Dubbo之后,而又選擇全面使用Spring Cloud呢嗽冒?其中有幾個原因:

1)從兩個公司的背景來談:Dubbo呀伙,是阿里巴巴服務(wù)化治理的核心框架,并被廣泛應(yīng)用于中國各互聯(lián)網(wǎng)公司添坊;Spring Cloud是大名鼎鼎的Spring家族的產(chǎn)品剿另。阿里巴巴是一個商業(yè)公司,雖然也開源了很多的頂級的項目贬蛙,但從整體戰(zhàn)略上來講雨女,仍然是服務(wù)于自身的業(yè)務(wù)為主。Spring專注于企業(yè)級開源框架的研發(fā)阳准,不論是在中國還是在世界上使用都非常廣泛氛堕,開發(fā)出通用、開源野蝇、穩(wěn)健的開源框架就是他們的主業(yè)岔擂。

2)從社區(qū)活躍度這個角度來對比位喂,Dubbo雖然也是一個非常優(yōu)秀的服務(wù)治理框架浪耘,并且在服務(wù)治理乱灵、灰度發(fā)布、流量分發(fā)這方面做的比Spring Cloud還好七冲,除過當(dāng)當(dāng)網(wǎng)在基礎(chǔ)上增加了rest支持外痛倚,已有兩年多的時間幾乎都沒有任何更新了。在使用過程中出現(xiàn)問題澜躺,提交到github的Issue也少有回復(fù)蝉稳。

相反Spring Cloud自從發(fā)展到現(xiàn)在,仍然在不斷的高速發(fā)展掘鄙,從github上提交代碼的頻度和發(fā)布版本的時間間隔就可以看出耘戚,現(xiàn)在Spring Cloud即將發(fā)布2.0版本,到了后期會更加完善和穩(wěn)定操漠。

3) 從整個大的平臺架構(gòu)來講收津,dubbo框架只是專注于服務(wù)之間的治理,如果我們需要使用配置中心浊伙、分布式跟蹤這些內(nèi)容都需要自己去集成撞秋,這樣無形中使用dubbo的難度就會增加。Spring Cloud幾乎考慮了服務(wù)治理的方方面面嚣鄙,更有Spring Boot這個大將的支持吻贿,開發(fā)起來非常的便利和簡單。

4)從技術(shù)發(fā)展的角度來講哑子,Dubbo剛出來的那會技術(shù)理念還是非常先進舅列,解決了各大互聯(lián)網(wǎng)公司服務(wù)治理的問題,中國的各中小公司也從中受益不少卧蜓。經(jīng)過了這么多年的發(fā)展帐要,互聯(lián)網(wǎng)行業(yè)也是涌現(xiàn)了更多先進的技術(shù)和理念,Dubbo一直停滯不前烦却,自然有些掉隊宠叼,有時候我個人也會感到有點可惜,如果Dubbo一直沿著當(dāng)初的那個路線發(fā)展其爵,并且延伸到周邊冒冬,今天可能又是另一番景象了。

Spring 推出Spring Boot/Cloud也是因為自身的很多原因摩渺。Spring最初推崇的輕量級框架简烤,隨著不斷的發(fā)展也越來越龐大,隨著集成項目越來越多摇幻,配置文件也越來越混亂横侦,慢慢的背離最初的理念挥萌。隨著這么多年的發(fā)展,微服務(wù)枉侧、分布式鏈路跟蹤等更多新的技術(shù)理念的出現(xiàn)引瀑,Spring急需一款框架來改善以前的開發(fā)模式,因此才會出現(xiàn)Spring Boot/Cloud項目榨馁,我們現(xiàn)在訪問Spring官網(wǎng)憨栽,會發(fā)現(xiàn)Spring Boot和Spring Cloud已經(jīng)放到首頁最重點突出的三個項目中的前兩個,可見Spring對這兩個框架的重視程度翼虫。

總結(jié)一下屑柔,dubbo曾經(jīng)確實很牛逼,但是Spring Cloud是站在近些年技術(shù)發(fā)展之上進行開發(fā)珍剑,因此更具技術(shù)代表性掸宛。

spring cloud整機,dubbo需要自己組裝招拙;整機的性能有保證唧瘾,組裝的機子更自由。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末迫像,一起剝皮案震驚了整個濱河市劈愚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌闻妓,老刑警劉巖菌羽,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異由缆,居然都是意外死亡注祖,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門均唉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來是晨,“玉大人,你說我怎么就攤上這事舔箭≌纸桑” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵层扶,是天一觀的道長箫章。 經(jīng)常有香客問我,道長镜会,這世上最難降的妖魔是什么檬寂? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮戳表,結(jié)果婚禮上桶至,老公的妹妹穿的比我還像新娘昼伴。我一直安慰自己,他們只是感情好镣屹,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布圃郊。 她就那樣靜靜地躺著,像睡著了一般野瘦。 火紅的嫁衣襯著肌膚如雪描沟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天鞭光,我揣著相機與錄音,去河邊找鬼泞遗。 笑死惰许,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的史辙。 我是一名探鬼主播汹买,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼聊倔!你這毒婦竟也來了晦毙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤耙蔑,失蹤者是張志新(化名)和其女友劉穎见妒,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體甸陌,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡须揣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了钱豁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耻卡。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖牲尺,靈堂內(nèi)的尸體忽然破棺而出卵酪,到底是詐尸還是另有隱情,我是刑警寧澤谤碳,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布溃卡,位于F島的核電站,受9級特大地震影響估蹄,放射性物質(zhì)發(fā)生泄漏塑煎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一臭蚁、第九天 我趴在偏房一處隱蔽的房頂上張望最铁。 院中可真熱鬧讯赏,春花似錦、人聲如沸冷尉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雀哨。三九已至磕谅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雾棺,已是汗流浹背膊夹。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捌浩,地道東北人放刨。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像尸饺,于是被迫代替她去往敵國和親进统。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 緣起 我是一個特別喜歡探索自我的人浪听,大約是2010年接觸到九型人格螟碎,大約12、13年的時候在北京結(jié)識了一群九型愛好...
    花悠然閱讀 1,024評論 0 4
  • 說實話迹栓,《了不起的蓋茨比》的盛名早已如雷貫耳掉分,早年盛名之下也附庸風(fēng)雅過,看了電影迈螟,也閱讀過小說叉抡。《了不起的蓋茨比》...
    麻雀山上閱讀 361評論 1 3
  • 尋找地宮秘密出口2 就在這個時候答毫,遠(yuǎn)處傳來一陣槍響褥民。杜炯和王秋妹開始警惕起來,立即朝槍響的方向跑去洗搂。當(dāng)他們透...
    東籬花飛閱讀 344評論 2 9