日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对话 Dubbo 唤醒者北纬:3.0 将至,阿里核心电商业务也在用 Dubbo

發(fā)布時間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对话 Dubbo 唤醒者北纬:3.0 将至,阿里核心电商业务也在用 Dubbo 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者 | 北緯、趙鈺瑩

**導(dǎo)讀:**2008 年,Dubbo 項目誕生;2014 年,由于內(nèi)部團(tuán)隊調(diào)整,Dubbo 暫停更新;2017 年,北緯帶領(lǐng)團(tuán)隊重新喚醒 Dubbo,并將其捐獻(xiàn)給了 Apache 基金會。短短 15 個月,Dubbo 便從基金會畢業(yè)。如今,Dubbo 已經(jīng)畢業(yè)一年,越來越多開發(fā)者開始詢問 Dubbo 3.0 到底有哪些變化,阿里巴巴內(nèi)部到底用不用 Dubbo,這是不是一個 KPI 開源項目以及 Dubbo 和 Spring Cloud 之間到底是什么關(guān)系。本文,將獨家對話 Dubbo 項目二代掌門人北緯(GitHub ID@beiwei30),聽他一一解答上述問題。

Dubbo 回歸的這些年

Dubbo 項目誕生于 2008 年,最初只是一個阿里內(nèi)部的系統(tǒng);2011 年,阿里 B2B 決定將整個項目開源,一年時間就收獲了來自不同行業(yè)的大批用戶;2014 年,由于內(nèi)部團(tuán)隊調(diào)整,Dubbo 暫停更新;2017 年 9 月,就在該項目將近 3 年沒動靜的時候,Dubbo 連續(xù)發(fā)布了好幾個新版本,并且開始在內(nèi)部招募對 Dubbo 感興趣的同事。新版本背后的主力開發(fā)團(tuán)隊是阿里巴巴中間件團(tuán)隊,其中一個最重要的人就是北緯,他從 2017 年 7 月開始全面接手 Dubbo。

“我知道這是一個特別出名的開源軟件,但是很長一段時間沒有人維護(hù),我當(dāng)時在阿里內(nèi)部的工作方向和 Dubbo 完全一致,也是做服務(wù)框架,所以對于認(rèn)知 Dobbo 并不是非常困難。

接手之后,我們開始沒有做太多事情,只是對外表示會重新維護(hù)這個項目,就收到了很多積極的反饋,這讓我非常驚訝,很多開發(fā)者也在問我們可以重新維護(hù)多久。隨著對這個項目的深入了解,我發(fā)現(xiàn)國內(nèi)很多大型廠商,甚至傳統(tǒng)國企都在廣泛使用該項目,當(dāng)時也覺得自己的責(zé)任重大,不知道可不可以把這個項目做好。”

彼時,北緯面臨的第一個問題是:在 Dubbo 主版本停止更新的這些年,業(yè)界出現(xiàn)了很多 Dubbo 的分支版本,不同的團(tuán)隊都在維護(hù)自己的分支,如果不重視這一客觀事實,很可能導(dǎo)致只有主版本在快速迭代,其他社區(qū)成員根本參與不進(jìn)來,這樣的開源意義不大。采訪中,北緯表示:“對 Dubbo 來說,這些分支版本同樣重要。我們還是希望可以給大部分深度用戶一條安全的合并路徑,根據(jù)我們的主要版本進(jìn)行迭代。在這個過程中,我們和幾大主流分支版本的開發(fā)團(tuán)隊都進(jìn)行過交流,他們也非常愿意同主版本進(jìn)行合并。”

在 Dubbo 正式復(fù)出之后,北緯也聽到了一些開發(fā)者的疑問,比如這次能維護(hù)多久之類的。“既然放到阿里巴巴下面,開發(fā)者有這樣的擔(dān)心,那我干脆就把它放到中立的位置上,Apache 基金會是一個很好的選擇,因為 GPL 協(xié)議太偏理想化,Dubbo 項目更多用在商業(yè)化公司,GPL 協(xié)議可能會影響后續(xù)推廣。相對來說,Apache 協(xié)議比較實用。”

正是這一決定讓廣大開發(fā)者見到了最短時間從 Apache 基金會畢業(yè)的項目:2019 年 5 月 21 日,Dubbo 在僅用時 15 個月的情況下從 Apache 基金會畢業(yè)。

“我記得,與 Dubbo 同期畢業(yè)的有五個項目,Dubbo 是用時最短的。我們并不著急讓 Dubbo 畢業(yè),但我們原來預(yù)期的時間比 15 個月還要短,但礙于基金會的溝通流程,時間周期會相對拉長。”

Apache 基金會的特點是寬進(jìn)嚴(yán)出,也就是說進(jìn)去可能相對容易,但畢業(yè)是難的,而且非常強(qiáng)調(diào)公開透明。在國內(nèi),大部分人習(xí)慣通過微信和釘釘溝通,響應(yīng)時間也會比較短,但 Apache 基金會是一個面向全球的組織,所有交流都基于郵件傳遞,一項提議必須在 72 小時內(nèi)(考慮到全球的時差問題)沒有成員提出反對才可以被采納,這些流程都讓時間周期變得更長。

如今,Dubbo 項目已經(jīng)畢業(yè)一年有余,整個社區(qū)擁有 18 名 PMC 成員,57 名 committer,以及多達(dá) 370 名貢獻(xiàn)者,社區(qū)代碼比例已經(jīng)超過 50%。在采訪中,北緯表示,過去一年,Dubbo 在多語言建設(shè)方面先后從社區(qū)收獲了 JS、Python、Erlang、PHP、Go 的實現(xiàn),特別鄭重感謝千米網(wǎng)、樂信以及其他開發(fā)者們,為社區(qū)帶來了多語言支持。提到 Dubbo,大家第一個想到的可能還是 Java,但目前 Dubbo go 已經(jīng)在 1.5 版本追平 Dubbo java 2.7 的特性。目前正在和 Java 齊頭并進(jìn),一起規(guī)劃 Dubbo 3.0 中云原生的路線圖。

自 Dubbo 2.7 版本之后,整個發(fā)版節(jié)奏逐漸變慢,很多開發(fā)者也注意到“Dubbo 3.0 will come soon”的公告掛了很久。北緯表示,其實是有意識放慢了發(fā)版節(jié)奏,追求功能的穩(wěn)定,這不僅僅是因為 Apache Dubbo 的深度用戶,比如工商銀行、攜程、滴滴、斗魚、瓜子等對 Dubbo 的使用規(guī)模越來越大,整個阿里經(jīng)濟(jì)體未來也會開始在內(nèi)部核心電商業(yè)務(wù)陸續(xù)推進(jìn) Dubbo 和 HSF 的融合,Dubbo 的用戶越多,團(tuán)隊的敬畏感越強(qiáng)烈。

在帶領(lǐng) Dubbo 前進(jìn)的過程中,團(tuán)隊也聽到了來自開發(fā)者社區(qū)的聲音,比如 Dubbo 和 Sping Cloud 是什么關(guān)系?是不是二選一就夠了?Dubbo 和 gRPC 之間的差別是什么?這是不是阿里的一個 KPI 開源項目?阿里內(nèi)部用嗎?

阿里與 Dubbo 之間的關(guān)系

“事實上,從我負(fù)責(zé)這個項目以來,我個人的體感是大家一直比較擔(dān)心這個項目能不能持續(xù)發(fā)展,會不會斷更。我也知道一些開發(fā)者在擔(dān)心 Dubbo 只是阿里主導(dǎo)的 KPI 開源項目。”

根據(jù) X-lab 開放實驗室最新發(fā)布的《2020 年微服務(wù)領(lǐng)域開源數(shù)字化報告》,Dubbo 的開源活躍度全球排名 693,在微服務(wù)框架中排名第五,僅今年參與過社區(qū)建設(shè)的開發(fā)者數(shù)量已經(jīng)達(dá)到 500 多人。整個社區(qū)蓬勃發(fā)展,來自外部的代碼貢獻(xiàn)量已經(jīng)超過來自阿里員工的貢獻(xiàn)量。


數(shù)據(jù)來源《2020 年微服務(wù)領(lǐng)域開源數(shù)字化報告》

在阿里巴巴云原生公眾號后臺回復(fù)“微服務(wù)報告”即可查看完整報告。

“我一直認(rèn)為社區(qū)很重要,單靠核心團(tuán)隊的幾位工程師來做這件事情非常困難,一些想法也是我們想不到的。如今,全國各地有上百家企業(yè)在使用 Dubbo,僅依靠我們兩三位工程師的力量遠(yuǎn)遠(yuǎn)不夠,我們希望社區(qū)內(nèi)的開發(fā)者可以更多地參與進(jìn)來。”

一直以來,開源的理想狀態(tài)可能就是單純依靠情懷,但這真的很難做好,靠情懷的始終是少數(shù)人,尤其是中國目前的開源遠(yuǎn)未達(dá)到這種狀態(tài),還處于發(fā)展過程中。采訪中,北緯表示,對 Dubbo 而言,不管開發(fā)者最初進(jìn)入并對項目有所貢獻(xiàn)的原因是什么。重要的是,我們希望能夠讓整個社區(qū)保持開放,即便個別工程師僅僅只是為了日后找份工作來參與社區(qū)也沒有關(guān)系,我認(rèn)為這種想法很正常,畢竟貢獻(xiàn)項目會占據(jù)開發(fā)者很多業(yè)余時間,我們也希望這個項目可以對大家有所幫助。

此外,阿里巴巴內(nèi)部也在采用 Dubbo 項目,并且開始逐漸向核心交易場景推進(jìn)。在 Dubbo 最初的成長過程中,阿里內(nèi)部曾經(jīng)提過“整個公司大統(tǒng)一,希望不要重復(fù)建設(shè),但凡相同的項目都要合并”的想法。當(dāng)時,淘寶的 HSF 項目也是一個中間件服務(wù)框架,與 Dubbo 做的事情高度重合,所以當(dāng)時表示要將兩個項目進(jìn)行合并。

時至今日,HSF 和 Dubbo 在阿里經(jīng)濟(jì)體內(nèi)部都有落地的場景。北緯表示,選擇權(quán)由業(yè)務(wù)視自己的訴求來決定,技術(shù)上保證了框架之間的互操作。相對來說,電商場景里 HSF 的使用是主流,而云的場景里 Dubbo 使用更多。當(dāng)然,對于這么大規(guī)模的服務(wù)化場景,統(tǒng)一技術(shù)棧一直是我們的訴求和目標(biāo)。在云原生時代 Dubbo 3.0 的定義中,我們已經(jīng)開始以開源的 Dubbo 作為核心進(jìn)行融合,并以此為基礎(chǔ)定義云原生場景中的關(guān)鍵特性,在集團(tuán)部分電商業(yè)務(wù)上已經(jīng)進(jìn)入落地階段,后續(xù)也會跟大家分享我們的實踐經(jīng)驗。

如何看待 Dubbo 和 Spring Cloud 的關(guān)系?

長久以來,總有開發(fā)者喜歡將 Dubbo 與 Spring Cloud 進(jìn)行比較,提到這兩個名字的第一反應(yīng)往往是應(yīng)該選哪個,而不是二者如何配合使用。**在北緯看來,這主要還是技術(shù)選型的問題,以及用戶對隨之而來的切換成本的顧慮。**其實這是一種誤解,兩者的關(guān)系不是非此即彼。今天的 Dubbo 已經(jīng)成為了 ?Spring Cloud Alibaba 中一個重要的技術(shù)組件,Dubbo 服務(wù)和 Spring Cloud 服務(wù)可以完美的互相調(diào)用。未來,Dubbo 3.0 進(jìn)一步的簡化了 Dubbo 和 Spring Cloud 混布場景中服務(wù)基礎(chǔ)設(shè)施的部署。

如今,Spring Cloud 依托于 Spring 已經(jīng)成為 Java 開發(fā)的標(biāo)準(zhǔn)框架,這是不爭的

事實,并結(jié)合大量業(yè)界經(jīng)驗逐漸抽象出一套微服務(wù)通用架構(gòu)模式標(biāo)準(zhǔn)。這套標(biāo)準(zhǔn)的好處在于可以讓開發(fā)者非常便捷地進(jìn)行微服務(wù)軟件產(chǎn)品開發(fā),且在整個 Spring 生態(tài)的加持下已經(jīng)成為開發(fā)者的“一攬子”解決方案。

相較之下,Dubbo 是阿里對微服務(wù)領(lǐng)域持續(xù)實踐的產(chǎn)品。在框架設(shè)計之初,擴(kuò)展性、靈活性就被放在了一個很重要的位置,這也是為什么社區(qū)對 Dubbo 的熱情一直高漲的原因。隨著 Dubbo 恢復(fù)更新,其場景豐富程度與穩(wěn)定性也有了非常大的提升,目前已經(jīng)在多家頭部公司大規(guī)模應(yīng)用。

回到眾多開發(fā)者對技術(shù)選型問題的顧慮:這兩套框架并不是非此即彼。相反的,用戶可以輕松的在這兩套框架之間切換,甚至未來可以完美的在一起協(xié)同工作,這得益于 Spring Cloud Alibaba 的出現(xiàn)。

Spring Cloud 擁有一個強(qiáng)大的國際化社區(qū),阿里巴巴作為社區(qū)里的重要成員,也貢獻(xiàn)出了 Spring Cloud Alibaba 這套實現(xiàn),這也是目前整個 Spring Cloud 體系下最完善并且在持續(xù)更新的實現(xiàn)方案。

Spring Cloud Alibaba 出現(xiàn)

現(xiàn)在的 Dubbo 2.7 已經(jīng)可以很好的在 Spring Cloud 體系下工作。通過 Spring Cloud Alibaba 中 Dubbo 的集成,Spring Cloud 應(yīng)用可以調(diào)用原生發(fā)布的 Dubbo 服務(wù),Spring Cloud 發(fā)布的 Dubbo 服務(wù)也可以被原生的 Dubbo 客戶端調(diào)用。這個得益于 2.7 中服務(wù)自省的實驗性項目,以及 Spring Cloud 側(cè)對 Dubbo 的適配。

在正在開展的 3.0 大版本中,這個實驗性的項目進(jìn)化為原生應(yīng)用級服務(wù)注冊機(jī)制。通過這個特性,未來 Spring Cloud 應(yīng)用和 Dubbo 應(yīng)用可以更加完美的混布。用戶可以為 Spring Cloud 和 Dubbo 復(fù)用同一套服務(wù)發(fā)現(xiàn)、服務(wù)配置、和服務(wù)管理體系,為 Dubbo 和 Spring 互通需要額外搭建網(wǎng)關(guān)將成為過去式,用戶可以零成本的在兩者之間切換,或者視場景不同選擇不同的框架,甚至可以在同一個應(yīng)用中混用。在項目核心成員小馬哥的努力下,Dubbo 與 Spring Cloud 混布場景中業(yè)界常規(guī)的 Proxy 集群終于去掉,整個體系的架構(gòu)更加簡單和穩(wěn)定。在 Dubbo 3.0 版本中,整個團(tuán)隊會繼續(xù)進(jìn)化應(yīng)用級服務(wù)注冊的想法,期望通過這項工作讓 Spring Cloud Alibaba 與 Dubbo 在注冊數(shù)據(jù)的模型上達(dá)成高度統(tǒng)一,復(fù)用同一套服務(wù)注冊中心,進(jìn)一步簡化混布場景中的架構(gòu)。

“我們把選擇的自由留給用戶,這是 Dubbo 3.0 中的重要目標(biāo)。”

此外,北緯整個團(tuán)隊也在積極發(fā)展 Spring Cloud Alibaba 生態(tài)。作為國內(nèi) Java 界最具影響力的團(tuán)隊之一,阿里中間件團(tuán)隊一直在密切關(guān)注 Spring 項目,通過 Spring 的封裝提升阿里的中間件開發(fā)體驗。采訪中,北緯表示,阿里巴巴電商體系絕大部分應(yīng)用已經(jīng)實現(xiàn) Boot 化。

“當(dāng) Spring Cloud 初具影響力的時候,我們主動通過 Spring Cloud 來集成阿里巴巴開源組件就變成一件自然而然的事情了”。目前,Spring Cloud Alibaba 已經(jīng)支持 Nacos 作為服務(wù)注冊中心、配置中心,Sentinel 作為限流,Seata 作為分布式事務(wù)組件,RocketMQ 作為分布式消息組件,當(dāng)然還有 Dubbo 作為 RPC 組件,全面取代了已經(jīng)宣布停止更新的 Spring Cloud Netflix 全家桶。另外,為了加速國內(nèi)工程師對 Spring Initializr 的訪問,團(tuán)隊還通過阿里云上托管的 start.aliyun.com 提供了快速生成 Spring Cloud Alibaba 應(yīng)用的能力。

Dubbo 和 gRPC?

Spring Cloud 和 Dubbo 之間部分互補(bǔ)可能說的通,但 Dubbo 和 gRPC 確實是極為相似的。作為高性能、開源且通用的 RPC 框架,gRPC 多年來受到了眾多開發(fā)者的歡迎和采納。

相似就免不了被開發(fā)者比較,對此,北緯很坦然:“我們從不避諱 gPRC,它是一個令人尊敬的對手,是云原生基礎(chǔ)設(shè)施之間通訊協(xié)議的事實標(biāo)準(zhǔn)。gRPC 的發(fā)展以及 gRPC 每年的會議,我們一直都有關(guān)注。”

“我們從 gRPC 身上學(xué)到最有價值的一點就是反思 Dubbo 2 中協(xié)議設(shè)計的不足,開始重視云原生支持領(lǐng)域里兩個重要的問題:多語言支持和網(wǎng)關(guān) /Mesh 解析友好。”采訪中,北緯表示,在 Dubbo 3.0 中,新版本的協(xié)議是重中之重,除了解決上述兩個問題,對 gRPC 協(xié)議的兼容也是新協(xié)議的設(shè)計目標(biāo)之一。

在云原生時代,gRPC 作為 RPC 框架走在了前面,這一塊短板在北緯看來是要盡快補(bǔ)齊的,而 Dubbo 的優(yōu)勢是不單單是一個 RPC,而且是一個有著強(qiáng)大治理能力的服務(wù)框架,可以這么說,Dubbo 是 gRPC with batteries。同時,Dubbo 在國內(nèi)用戶群體巨大,在業(yè)務(wù)向云原生技術(shù)遷移的歷程中,Dubob 3.0 將可以發(fā)揮出巨大作用。

Dubbo 的未來發(fā)展

如今,社區(qū)中的很多開發(fā)者都對 3.0 版本期待已久。北緯表示,3.0 版本的主基調(diào)就是云原生支持,重點思考云原生友好的新一代 RPC 協(xié)議、應(yīng)用級服務(wù)注冊發(fā)現(xiàn)、K8s 原生服務(wù)發(fā)布、Mesh 控制面 xDS 協(xié)議對接以及分布式服務(wù)柔性等重磅級特性。

實際上,Dubbo 3.0 的功能會分階段進(jìn)行,目前應(yīng)用級服務(wù)發(fā)現(xiàn)已經(jīng)在內(nèi)部和一些頭部用戶的場景做試點,后續(xù)隨著項目的進(jìn)展,團(tuán)隊會第一時間發(fā)布功能實現(xiàn)細(xì)節(jié)。“通過 Dubbo 3.0 的交付,我們期待帶來一款向云原生遷移友好的,對云原生基礎(chǔ)設(shè)施友好的新一代服務(wù)框架體系。”

面向未來,Dubbo 項目總的發(fā)展基調(diào)還是堅持合作開放的開源路線不動搖,追求更高質(zhì)量和功能更完善的路線不動搖。目前,社區(qū)發(fā)展的重中之重是 Dubbo3.0 演進(jìn)。在不久后的 9 月份, Dubbo3.0 應(yīng)用級注冊發(fā)現(xiàn)將在阿里巴巴內(nèi)部和開源側(cè)各公司落地。這不僅是 Dubbo 邁向云原生微服務(wù)的第一步,也是對接 K8s 注冊發(fā)現(xiàn)和跨框架 RPC 互通的前提。

就應(yīng)用方而言,從接口級注冊發(fā)現(xiàn)到應(yīng)用級注冊發(fā)現(xiàn)可以顯著降低注冊中心和客戶端的內(nèi)存壓力。今年雙 11,云原生服務(wù)治理規(guī)則會把 Dubbo 多年以來在大規(guī)模高并發(fā)服務(wù)治理方面的最佳實踐融入云原生。下一代協(xié)議將基于 http2/protobuf 帶來更好的生態(tài)和 Reactive 的全面支持,柔性增強(qiáng)所涵蓋的自適應(yīng)策略和分布式負(fù)載均衡將會在性能和穩(wěn)定性上帶來更大的突破。北緯表示,在 Dubbo 3.0 發(fā)展過程中,急需更多高質(zhì)量社區(qū)力量加入,共同打造下一代的服務(wù)框架。

回到 Dubbo 重啟開源之時,生態(tài)相對薄弱。畢業(yè) 15 個月之后的今天,Dubbo 生態(tài)已經(jīng)日益完善。


(如今 Dubbo 豐富的擴(kuò)展實現(xiàn))

比如,多語言支持已經(jīng)達(dá)到 6 種,30+ 生態(tài)子項目。在 Dubbo 主動集成周邊的同時,我們也被第三方開源項目 Spring Cloud Sleuth、Zipkin、Skywalking、Envoy、tengine 等主動集成。

“或許如今的生態(tài)還不夠完善,但也是極大豐富了,我心中的完善是希望能夠產(chǎn)出一個官方推薦的 Dubbo Stack,免除用戶選擇上面的煩惱。至于 Dubbo Stack 中是否都源自阿里,我倒是抱著順其自然的態(tài)度,這還是需要數(shù)據(jù)說話,誰家的組件在生產(chǎn)系統(tǒng)中運用最廣,我們就推薦誰。總的來說,這件事情的決定權(quán)在社區(qū)和 Dubbo 用戶。”

嘉賓介紹

北緯,Dubbo 第二代掌門人,Apache Dubbo PPMC & Spring Cloud Alibaba 負(fù)責(zé)人。

“阿里巴巴云原生關(guān)注微服務(wù)、Serverless、容器、Service Mesh 等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢、云原生大規(guī)模的落地實踐,做最懂云原生開發(fā)者的公眾號。”

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的对话 Dubbo 唤醒者北纬:3.0 将至,阿里核心电商业务也在用 Dubbo的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。