Dubbo 3.0重大革新
據(jù)了解缘厢,新的 Dubbo 內(nèi)核與 Dubbo 2.0 完全不同双肤,但它兼容 2.0。Dubbo 3.0 將以 Streaming 為內(nèi)核,而不再是 2.0 時代的 RPC洒试,但是 RPC 會在 3.0 中變成遠程 Streaming 對接的一種可選形態(tài)。梁飛給出了一個內(nèi)核接口:Streaming docking(Streaming)朴上,他說一切服務(wù)治理將圍繞這個內(nèi)核接口進行擴展垒棋。而 Streaming 通道與 gRPC 類似,支持 HTTP/2痪宰,同時 REST 接口也會受到一等公民支持叼架,但是梁飛也表示此次在通訊上的改動并不大颠焦,重點是在服務(wù)治理和編程模型上堡纬。
說到編程模型的革新,梁飛透露夺巩,此次 Dubbo 3.0 能夠開工具练,主要也是因為新特性將去掉一切阻塞乍构,以“一切同步”為第一目標,在對 IO 密集業(yè)務(wù)的處理上扛点,它能夠提高機器利用率哥遮,使得一半機器的成本被節(jié)省下來。他還表示陵究,其實 Dubbo 3.0 技術(shù)選型重大變更的驅(qū)動因素眠饮,也就是降低成本,因為在將系統(tǒng)服務(wù)化后铜邮,全業(yè)務(wù)線的機器都在等待返回數(shù)據(jù)仪召,負載壓不上去,機器浪費嚴重牲距。
這個去阻塞化的模式返咱,其實就是使用了“反應(yīng)式編程”模式(Reactive Programming),梁飛介紹牍鞠,在 Dubbo 3.0 中,reactive 將成為核心评姨,會做到客戶端难述、服務(wù)端、緩存和數(shù)據(jù)庫吐句,全程無阻塞胁后。在數(shù)據(jù)庫上,JDBC 驅(qū)動將進行更改嗦枢,同時攀芯,為了性能,還會配合使用阿里畢玄對 JVM 協(xié)程的改造文虏。更為重要的是侣诺,這個重大變更殖演,不僅體現(xiàn)在 Dubbo 上,它也將影響到阿里 10 年來積累的中間件年鸳。
群里有人問到是否會采用 Service Mesh趴久,梁飛表示,Dubbo 3.0 將支持可選 mesh搔确,多加一層 IPC彼棍,這主要是為了兼容老系統(tǒng);而內(nèi)部則會優(yōu)先嘗試內(nèi)嵌模式膳算。他說代理模式 Ops 可獨立升級框架座硕,減少業(yè)務(wù)侵入,而內(nèi)嵌模式可以帶業(yè)務(wù)測試涕蜂、部署節(jié)點少华匾、穩(wěn)定性檢測方便。同時宇葱,可以將 Dubbo 3.0 啟動為獨立進程瘦真,由 dubbo-mesh 進行 IPC,路由黍瞧、負載均衡和熔斷機制將由獨立進程控制诸尽。
拭目以待
據(jù)說,目前Dubbo 3.0 已正式投入全職開發(fā)梯隊印颤,初步 Runtime 已在驗證您机,3 月底將在線上應(yīng)用投入使用。
自去年11月份阿里公開宣布 重啟維護Dubbo 之后年局,大家一直在關(guān)注著Dubbo 的進展际看。今天這樣一個小道消息的爆出,讓大家很是興奮矢否,希望Dubbo真正完成涅磐重生仲闽!
開源地址
Dubbo GitHub地址:https://github.com/alibaba/dubbo