Spring Cloud 和 Dubbo 哪個會被淘汰?
今天在知乎上看到了這樣一個問題:Spring Cloud 和 Dubbo哪個會被淘汰?看了幾個回答,都覺得不在點(diǎn)子上,所以要么就干脆寫篇小文瞎逼叨一下。
簡單說說個人觀點(diǎn)
我認(rèn)為這兩個框架大概率會長期都存在。
時至今日,這兩個框架放到現(xiàn)在,已經(jīng)不存在誰取代誰這一說了。由于Spring Cloud Alibaba的出現(xiàn),Dubbo已經(jīng)很好的融入到了Spring Cloud體系,所以圍繞Spring Cloud生態(tài)的各種周邊產(chǎn)品都是可以無縫整合到一起來玩的。
Dubbo無縫整合Spring Cloud生態(tài)是啥意思呢?主要兩方面:
- 如果你原來是Dubbo用戶,那么現(xiàn)在可以把Spring Cloud引入進(jìn)來。輕松便捷地整合Spring Cloud的配置中心、注冊中心以及諸如分布式跟蹤等好用的周邊產(chǎn)品來管理你的分布式服務(wù)集群,與其他Spring Cloud Netflix用戶享受同等的生態(tài)優(yōu)勢。
- 如果你原來不是Dubbo用戶,但是你的場景在使用HTTP調(diào)用時候覺得不夠效率不夠經(jīng)濟(jì),那么就可以考慮引入Dubbo,來提升你服務(wù)減調(diào)用的RPC性能。
到這里,可能有的看官要說了,你都是站在融合的角度來說的,我就是不喜歡Dubbo那種接口依賴的方式,堅決捍衛(wèi)Spring Cloud原始生態(tài)!
行!這種堅持也是可以的,并沒有什么錯,通過HTTP契約方式管理服務(wù)接口,不用接口提供方的JAR,這在編譯層面上就不會產(chǎn)生耦合,這點(diǎn)確實一直是目前不用Dubbo的一個重要論據(jù)。個人也覺得這種選擇在很多方面是有優(yōu)勢的,但是對接口的兼容設(shè)計也是有非常高要求的,只要能執(zhí)行到位,任何一種方案都可以做的很流暢。
但是,我認(rèn)為Spring Cloud用戶對這種方案的堅持并不會影響Dubbo生態(tài)的消亡。主要兩點(diǎn):
- Dubbo的原始用戶群巨大,在Spring Cloud布道之前,Dubbo就擁有了極大的用戶群體,現(xiàn)在既然有很好的融合方案,那么融合的考慮肯定要比重構(gòu)的考慮要更為穩(wěn)妥的。
- 有很多用戶會質(zhì)疑阿里巴巴的開源項目容易太監(jiān),這次Dubbo重新維護(hù),又能堅持多久?其實這點(diǎn)這次就不用過多的擔(dān)心,因為目前的Dubbo已經(jīng)給了Apache基金會,由于Apache對開源項目在是否可長期維護(hù)的評估上有很高的要求(活躍度、貢獻(xiàn)比例等),能在Apache畢業(yè)的項目,除非出現(xiàn)了一個在各方面都能超越它的東西出現(xiàn),不然就會很長時間的存在且并應(yīng)用。
不論從Spring Cloud用戶來說,還是Dubbo用戶來說,都沒有絕對要消亡另一方的場景存在。所以,個人認(rèn)為這兩個極大可能會成為好基友,尤其在國內(nèi)的應(yīng)用上。
【本文為51CTO專欄作者“翟永超”的原創(chuàng)稿件,轉(zhuǎn)載請通過51CTO聯(lián)系作者獲取授權(quán)】