天天看點

Spring Cloud 和 Dubbo 哪個會被淘汰?

今天在知乎上看到了這樣一個問題:Spring Cloud 和 Dubbo哪個會被淘汰?看了幾個回答,都覺得不在點子上,是以要麼就幹脆寫篇小文瞎逼叨一下。

簡單說說個人觀點

我認為這兩個架構大機率會長期都存在。

時至今日,這兩個架構放到現在,已經不存在誰取代誰這一說了。由于Spring Cloud Alibaba的出現,Dubbo已經很好的融入到了Spring Cloud體系,是以圍繞Spring Cloud生态的各種周邊産品都是可以無縫整合到一起來玩的。

Dubbo無縫整合Spring Cloud生态是啥意思呢?主要兩方面:

  1. 如果你原來是Dubbo使用者,那麼現在可以把Spring Cloud引入進來。輕松便捷地整合Spring Cloud的配置中心、注冊中心以及諸如分布式跟蹤等好用的周邊産品來管理你的分布式服務叢集,與其他Spring Cloud Netflix使用者享受同等的生态優勢。
  2. 如果你原來不是Dubbo使用者,但是你的場景在使用HTTP調用時候覺得不夠效率不夠經濟,那麼就可以考慮引入Dubbo,來提升你服務減調用的RPC性能。

到這裡,可能有的看官要說了,你都是站在融合的角度來說的,我就是不喜歡Dubbo那種接口依賴的方式,堅決捍衛Spring Cloud原始生态!

行!這種堅持也是可以的,并沒有什麼錯,通過HTTP契約方式管理服務接口,不用接口提供方的JAR,這在編譯層面上就不會産生耦合,這點确實一直是目前不用Dubbo的一個重要論據。個人也覺得這種選擇在很多方面是有優勢的,但是對接口的相容設計也是有非常高要求的,隻要能執行到位,任何一種方案都可以做的很流暢。

但是,我認為Spring Cloud使用者對這種方案的堅持并不會影響Dubbo生态的消亡。主要兩點:

  1. Dubbo的原始使用者群巨大,在Spring Cloud布道之前,Dubbo就擁有了極大的使用者群體,現在既然有很好的融合方案,那麼融合的考慮肯定要比重構的考慮要更為穩妥的。
  2. 有很多使用者會質疑阿裡巴巴的開源項目容易太監,這次Dubbo重新維護,又能堅持多久?其實這點這次就不用過多的擔心,因為目前的Dubbo已經給了Apache基金會,由于Apache對開源項目在是否可長期維護的評估上有很高的要求(活躍度、貢獻比例等),能在Apache畢業的項目,除非出現了一個在各方面都能超越它的東西出現,不然就會很長時間的存在且并應用。

不論從Spring Cloud使用者來說,還是Dubbo使用者來說,都沒有絕對要消亡另一方的場景存在。是以,個人認為這兩個極大可能會成為好基友,尤其在國内的應用上。