Dubbo 3.0.0 正式發(fā)布,王者歸來!
點擊關注公眾號,Java干貨及時送達

Dubbo 簡介
如果你還不知道什么是 Dubbo,先來一波掃盲:
Apache Dubbo 是一款高性能、輕量級的開源 Java 服務框架
Dubbo 的 6 大特性:
1、面向接口代理的高性能 RPC 調用;
2、服務自動注冊與發(fā)現(xiàn);
3、智能負載均衡策略;
4、高度可擴展能力;
5、運行期流量調度;
6、可視化的服務治理與運維;
Dubbo 架構圖:

再來回顧下 Dubbo 的發(fā)展史:
2011/10/27: 阿里巴巴巴宣布 Dubbo 開源。
2012/10/23: 發(fā)布最后一個版本 2.5.3 并停止維護更新。
2017/07/31: 起死回生,官方宣布開啟重新更新,并會得到重點維護,參考:Dubbo 宣布重新開始維護。
2017/09/07: 發(fā)布起死回生的第一個版本:dubbo-2.5.4。
2018/01/08:
1、Dubbo 團隊透露 Dubbo 3.0 宣布正式開工,參考:重大利好,Dubbo 3.0要來了。
2、發(fā)布了 dubbo-2.6.0 版本,主要合并了由當當網(wǎng)開源的 dubbox 項目分支。PS:dubbo停止維護期間,當當網(wǎng)基于 dubbo 開源了dubbox。
2018/01/22: Dubbo Spring Boot 版正式發(fā)布:dubbo-spring-boot-starter v1.0.0 公測版。
2018/02/09: Dubbo 通過投票正式進入 Apache 基金會孵化器,更新了 Apache 官方域名,也不再僅限于 Java 語言。
參考:
2019/05/20: Apache 軟件基金會宣布 Dubbo 正式畢業(yè),成為 Apache 的頂級項目。
Dubbo3 王者歸來
前幾天 Dubbo 3.0.0 正式發(fā)布了:

Maven 依賴已更新:

<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>3.0.0</version>
</dependency>
Dubbo3 是在云原生背景下誕生的,使用 Dubbo 構建的微服務遵循云原生思想,能更好的復用底層云原生基礎設施、貼合云原生微服務架構。
另外,Dubbo 3.0.0 幾乎兼容 2.7.x 所有行為。 因為,Dubbo3 是基于 Dubbo2 演進而來,在保持原有核心功能特性的同時, Dubbo3 在易用性、超大規(guī)模微服務實踐、云原生基礎設施適配等幾大方向上進行了全面升級。
再來看看更新了啥:
Dubbo 3.0.0 核心功能
1、應用級服務發(fā)現(xiàn)機制;
2、下一代 RPC 協(xié)議:Triple;
Triple 協(xié)議是 Dubbo3 的主力協(xié)議,完整兼容 gRPC over HTTP/2,并在協(xié)議層面擴展了負載均衡和流量控制相關機制。
3、全新的路由規(guī)則;
4、顯著提升性能;
5、Kubernetes 服務集成;
Dubbo 3.0.0 擴展
Dubbo 核心不再提供第三方 SDK 擴展,需要通過 dubbo-spi-extensions 項目來支持。
目前支持的擴展有:
1、Zookeeper 作為注冊中心、元數(shù)據(jù)報告、配置中心;
2、Nacos 作為注冊中心、元數(shù)據(jù)報告、配置中心;
3、Kubernetes 作為注冊中心;
4、Redis 作為元數(shù)據(jù)報告;
5、Apollo 作為配置中心;
6、Hessian2 和 jdk 作為默認序列化器;
7、Triple 協(xié)議支持 Protobuf;
Dubbo 3.0.0 升級提醒
1、基于 Spring 的相關配置列表可能會發(fā)生變更,請留言官方升級文檔;
2、為了高度兼容性,Dubbo 3 早期版本會默認開啟多重注冊,多重訂閱;
棧長有話說
Dubbo 也算是老牌的 RPC 框架了,由阿里開源,一度在國內流行成為最主流的 RPC 框架。
遺憾的是,Dubbo 并沒有舉起大旗,中間停更了幾年,后面又重啟維護并捐獻給了 Apache 軟件基金會,但隨著近些年來微服務的盛行,以及 Spring Cloud 的異軍突起,Dubbo 的光芒早已不在,現(xiàn)在也變得越來越暗淡。。
為什么這么說?
給我第一的直覺是,這次 Dubbo 這么大的版本發(fā)布,這都發(fā)布好幾天了,卻幾乎沒有什么報道,目前官網(wǎng)也沒有通報,只是在 Github 進行版本升級了,這著實讓我感覺有點悲涼。。
我真是倒吸一口涼氣!反觀 Spring Cloud,天然結合 Spring Boot,幾乎每一個小小的修復版本,都會出現(xiàn)很多解讀,從活躍度和應用程度看,Spring Cloud 已經(jīng)是事實的王者了。。
沒錯,前些年,隨著 Dubbo 的停更,給 Dubbo 是造成了不少負面影響,國內技術人對 Dubbo 也逐漸失去信心,后面即使當當搞出了擴展版 Dubbox 也無濟于事,隨著 Spring Cloud 大行其道,很多公司都相繼從 Dubbo/ Dubbox 遷移到了 Spring Cloud 體系了。
即使如此,也不排除 Dubbo 是一個優(yōu)秀的 RPC 框架,現(xiàn)在也還是有很多公司在用的,我們從官網(wǎng)可以看到:

說實話,Dubbo 和 Spring Cloud 我都用過,個人而言,相比 Spring Cloud Restful 的調用方式,我更傾向于 Dubbo 的基于接口代理的調用方式,純 Java 支持,面向接口編程,調用遠程服務就像調用本地接口一樣直接。
另外,雖然 Spring Cloud 全家桶組件是很全,社區(qū)也很活躍,但也有很大的困擾,那就是版本變化太快了,不斷的升級,各種組件的廢除、重構、更換,Spring Cloud 框架版本升級已變成技術人員的惡夢。。
現(xiàn)在很多人開口閉口都是微服務,有幾家公司能真正有規(guī)模上微服務的?我想很多公司也都是為趕技術潮流,怕被淘汰,為了應用而應用,盲目應用恐怕是弊大于利。
所以,也沒有必要盲目追從最新的技術吧,技術都是為業(yè)務服務的,Dubbo 如果用的很好了,就沒必要遷移到 Spring Cloud 上面去踩坑!
但是,我們也不能忘記學習,可以不用,但不能不去了解、學習,技術人要有居安思危的意識,畢竟 Spring Cloud 是主流趨勢(我也寫了一系列 Spring Cloud 教程,可以關注公眾號Java技術棧,在菜單中閱讀,我都整理好了),但還不是很成熟穩(wěn)定,如果公司要用的話,最好先拿個邊緣項目試水吧……
最后,你們用的什么服務化框架?歡迎投票~
最最后,我們還是期待 Dubbo 再創(chuàng)輝煌吧!
后續(xù)棧長也會繼續(xù)關注并分享 Java 系列教程和資訊,關注公眾號Java技術棧第一時間推送。
參考資料:
https://github.com/apache/dubbo/releases
https://dubbo.apache.org/
版權申明:本文系公眾號 "Java技術棧" 原創(chuàng),原創(chuàng)實屬不易,轉載、引用本文內容請注明出處,禁止抄襲、洗稿,請自重,尊重他人勞動成果和知識產(chǎn)權。






關注Java技術??锤喔韶?/strong>


