专访涯海:阿里云中间件是如何支撑双11的?
以下是本次訪談關(guān)鍵內(nèi)容的整理。
點(diǎn)擊這里可前往“2020阿里雙11技術(shù)全觀”專題查看訪談視頻回放
播報(bào)員:
*各位開發(fā)者朋友們,大家好。歡迎收看我們這一期的雙11技術(shù)播報(bào)欄目,我是你們的播報(bào)員莫孤。今天我們依然還是雙11技術(shù)播報(bào)的特別篇,特別邀請了阿里云中間件團(tuán)隊(duì)的涯海來參加我們這一期的雙11技術(shù)播報(bào)欄目,他是這一次中間件團(tuán)隊(duì)的大隊(duì)長,帶領(lǐng)著中間件團(tuán)隊(duì)參加了雙11的整個項(xiàng)目,在此過程中肯定有非常多好玩的事情,也會有非常多的技術(shù)突破給我們分享。那就讓我們來熱烈歡迎一下涯海來到我們的直播間。
*
涯海:謝謝莫孤。
播報(bào)員:
要不你先跟大家介紹一下自己?
涯海:
我是來自阿里云智能的中間件團(tuán)隊(duì)隊(duì)長涯海。我是一個新人,其實(shí)我覺得自己比較新,首先這是我今年第一年當(dāng)中間件的隊(duì)長,然后我也是一個畢業(yè)不到5年的應(yīng)屆生,所以我認(rèn)為自己的心態(tài)還是比較新的。另外我平時比較喜歡打游戲,應(yīng)該跟大多數(shù)男生是差不多的,并且我玩魔獸世界已經(jīng)十幾年了,可以認(rèn)為是骨灰級的一個玩家,當(dāng)然是中間AFK過很多次,比如今年做大促就臨時的又AFK了。那正好今年做完(大促)之后,我就準(zhǔn)備把我的電腦修一修,再次回到我的艾澤拉斯大陸。?我就介紹這么多。
播報(bào)員:
好的,剛剛說到電腦的問題,其實(shí)我們采訪的另外一位大隊(duì)長智盛,聽說他對這一塊特別了解,我覺得你們可以接下來去深度的聊一下電腦怎么修復(fù)的事情。今年是涯海正式加入阿里的第5年,但是已經(jīng)作為大隊(duì)長帶領(lǐng)中間件團(tuán)隊(duì)去參加整個雙11的項(xiàng)目了,非常的年輕有為。?
我想問一下你第一次當(dāng)大隊(duì)長是一種什么樣的體驗(yàn)?zāi)?#xff1f;
涯海:
首先第一個就是感覺比較刺激,對,因?yàn)樽鳛橐粋€BU的大促隊(duì)長,其實(shí)下面(代領(lǐng))的同學(xué)有很多,第一次享受到了呼風(fēng)喚雨的感覺,當(dāng)然這是開玩笑的。
其實(shí)刺激的背后就是感覺到挑戰(zhàn)非常的大,因?yàn)橹虚g件的產(chǎn)品非常多,我們有20多款產(chǎn)品,然后核心備戰(zhàn)的同學(xué)有六七十位,怎么去進(jìn)行內(nèi)部的協(xié)調(diào),怎么進(jìn)行這么多產(chǎn)品的協(xié)同,然后對外去提供統(tǒng)一的服務(wù),并且我們集團(tuán)有40多個BU都在用我們中間件的服務(wù),怎么去保證最終大促的穩(wěn)定性,這是一個非常具備挑戰(zhàn)和刺激的一個事,這是第一個感受。
?第二個就是感觸就是大促是一個超級工程,它是非常復(fù)雜并且精密的,從整個CTO到5位集團(tuán)的大隊(duì)長,到我們40多個BU的隊(duì)長,然后層層再到下面的同學(xué),每一層級都是非常嚴(yán)密、嚴(yán)謹(jǐn),然后每個人的邊界又很清晰,但是補(bǔ)位的意識要非常的強(qiáng),大家既是齒輪,又是一個連接的樞紐。在這個過程中我就是非常幸運(yùn)的能夠從更上層的視角去看到整個集團(tuán)的從業(yè)務(wù)到最底層的一些物理設(shè)備,比如說網(wǎng)絡(luò)供應(yīng)鏈這類,這個是之前做研發(fā)非常不一樣的體感,這是第二點(diǎn)感覺。?
第三點(diǎn)的話就是做大促其實(shí)是痛并快樂著。痛苦是肯定有的,因?yàn)樽龃蟠俜浅5男量?#xff0c;而且今年雙11也非常的長,并且任何一個小的風(fēng)險(xiǎn)點(diǎn)都不能遺漏,因?yàn)榍Ю镏虧⒂谙佈?#xff0c;所以我們的工作必須做的非常細(xì)致,但是快樂也是前所未有的,有點(diǎn)像什么?比如說我們打籃球,一場可能得了很多球很多分,非常快樂,但是相對來說就沒有踢足球的快樂更大,有可能你踢一場下來只能進(jìn)一個球,就是說一個漫長的努力,最終會到一個巨大的回報(bào),以及非常大的滿足感。這個是我個人的一些感觸。
播報(bào)員:
對,我覺得你剛剛描述的特別地生動形象,用踢足球和打籃球來描述一下參加雙11的體感,讓我非常的感同身受。
剛剛也有提到說作為隊(duì)長去帶領(lǐng)我們的整個中間件團(tuán)隊(duì)參加雙11的項(xiàng)目的話,可以從業(yè)務(wù)上有一個更全面地了解。我想問一下中間件今年是怎么支撐雙11的,達(dá)到了怎么樣的業(yè)務(wù)結(jié)果呢?
涯海:
首先我們會先根據(jù)今年業(yè)務(wù)的目標(biāo)來確定我們整體的一些打法,比如說今年我們業(yè)務(wù)的峰值是什么樣的,除了峰值之外,會不會有其他的一些核心目標(biāo),然后我們會把最重要的目標(biāo)拆解到中間件的每一個產(chǎn)品,同時結(jié)合我們自身的一些產(chǎn)品的技術(shù)架構(gòu)的演進(jìn),來提前的去儲備我們的技術(shù)的力量,這是第一步:確定目標(biāo)。?
第二步就是我們要具體確定我們的核心備戰(zhàn)人員,就是有哪些同學(xué),其中老同學(xué)有多少,新同學(xué)有多少,怎么使得我們大促的經(jīng)驗(yàn)?zāi)軌騻鞒?#xff0c;這個是我們要確認(rèn)的第二點(diǎn):人員。
第三個就是我們要確定整體的一個流程,比如說我們的客戶端升級是在什么階段,我們的服務(wù)端升級、驗(yàn)收,是在什么階段,壓測在什么時候,還有封網(wǎng),就是說整個的流程我們要能夠確定好。
經(jīng)過目標(biāo)、人員、打法,最后再按部就班的一步步的實(shí)行,當(dāng)然這些都是計(jì)劃內(nèi)的,但是大促有很多突發(fā)、應(yīng)急的風(fēng)險(xiǎn),這個時候就需要通過我們提前的一些技術(shù)風(fēng)險(xiǎn)的管理,包括我們應(yīng)急的一些預(yù)案,然后來進(jìn)行快速的響應(yīng),最終的結(jié)果,個人覺得今年是比較滿意的,因?yàn)榻衲暝?號到11號的11天內(nèi)基本上是全程零故障,而且我們業(yè)務(wù)上也取得了一些收獲,我們在考拉全站云原生架構(gòu)升級的項(xiàng)目里面,也取得了非常好的一些新技術(shù)的突破和印證。
播報(bào)員:
好的,謝謝。剛剛聽你說得到了整個備戰(zhàn)期間零故障的好成績,真的是非常不錯,恭喜。
看來咱們中間件團(tuán)隊(duì)確實(shí)下了非常多的功夫,作為隊(duì)長,你覺得今年雙11和去年有些什么不一樣的地方?
涯海:
今年和去年感覺最不一樣的就是我們?nèi)鎿肀г圃@個點(diǎn),因?yàn)槿ツ甑脑捨覀兪钦麄€阿里IaaS層上云,我們叫全面上云,但是那個時候還沒有觸及到我們PaaS這一層。
IaaS上云對于大多數(shù)的業(yè)務(wù)來說都是無感的或者是感知很少,但是PaaS上云的話,它的邏輯是跟業(yè)務(wù)代碼深度耦合的,這個時候我們業(yè)務(wù)就會有一個很強(qiáng)的感知,并且可能會需要做大量的改動。這個時候我們怎么能在保證業(yè)務(wù)穩(wěn)定的情況下,平穩(wěn)地去完成PaaS的升級,這個是今年跟去年特別不一樣的第一點(diǎn)。
第二個就是三位一體,今年從中間的視角,我們很多核心的產(chǎn)品已經(jīng)加速,甚至是已經(jīng)完成了我們自研、開源和商業(yè)化產(chǎn)品的全面融合,一方面可以節(jié)省我們內(nèi)部的產(chǎn)品支持和維護(hù)的一個成本,也就是說可以減少我們的成本,另一方面也為我們集團(tuán)內(nèi)走向開放標(biāo)準(zhǔn)的技術(shù)生態(tài),去享受云原生的技術(shù)紅利來打下了一個很好的基礎(chǔ),并且能夠讓外部的云產(chǎn)品得到內(nèi)部大量場景的錘煉,來增強(qiáng)我們服務(wù)超大批客戶的產(chǎn)品化的能力。?
這兩點(diǎn)我覺得是今年雙十一和去年雙十一差異比較大的兩點(diǎn)。
播報(bào)員:
了解了。確實(shí),我們中間件產(chǎn)品里面其實(shí)有非常多的網(wǎng)紅產(chǎn)品,就是各位開發(fā)者都用得非常多,相信屏幕前的你(觀眾)應(yīng)該也用過,那你(觀眾)腦海中有出現(xiàn)什么樣的阿里中間件的網(wǎng)紅產(chǎn)品的話,現(xiàn)在就可以發(fā)彈幕告訴我們。
剛剛我們有提到,今年全面云原生化帶來了很多不一樣的地方,這又帶來了哪些核心技術(shù)的升級呢?
涯海:
核心技術(shù)的升級的話,我覺得第一個就是我們Dubbo 3.0,在考拉樣板間的一個落地,什么是Dubbo 3.0?就要提到大家比較熟悉的網(wǎng)紅的微服務(wù)Dubbo,Dubbo我們現(xiàn)在主要是在2.X的版本,那么Dubbo 2 和我們集團(tuán)內(nèi)部大規(guī)模使用的HSF的微服務(wù)框架,它本身的兼容性不是特別好,但是Dubbo 3.0 就可以完全兼容我們2.0和集團(tuán)內(nèi)的HSF微服務(wù)。比如說考拉,它是我們并購的一個產(chǎn)品線,那么它一開始用的就是基于開源自建的一個分支,就是Dubbo k,它在融入到阿里之后,跟阿里的電商體系去做融合互通的時候,就需要同Dubbo 2.0和我們內(nèi)部的HSF去做一個互通。?這個時候我們給出的方案就是通過Dubbo 3.0 來完成這樣的橋接,今年我們是在考拉完成了Dubbo 3.0的升級和落地,明年我們要在集團(tuán)內(nèi)做大規(guī)模的3.0的升級,這是第一點(diǎn)。
第二點(diǎn)就是我們今年的一個中間件4.0的一個項(xiàng)目,什么是中間件4.0?就是針對單集群、百萬實(shí)例規(guī)模,我們需要做的特別大的一些性能優(yōu)化,包括我們基于云原生的流量控制,還有我們的Mesh服務(wù)網(wǎng)格的技術(shù)。今年這三項(xiàng)技術(shù)都取得了比較大的突破和成果。
播報(bào)員:
好的。?剛剛有聽到你說三位一體的一個體系,這三位一體是哪三位?為什么三位一體在今年會變得如此重要呢?
涯海:
行,先說說三位一體是哪三位?首先第一個就是自研,阿里的技術(shù)一開始都是基于內(nèi)部的場景,雙11的這種電商的峰值孵化出來的很多創(chuàng)新型的技術(shù),這個是結(jié)合我們的資源高度定制,非常契合我們阿里生態(tài)的一些技術(shù)。
第二個就是開源,隨著開源的設(shè)計(jì)越來越繁榮,有很多優(yōu)秀的設(shè)計(jì)理念,然后包括K8S等這些產(chǎn)品,并且現(xiàn)在整個業(yè)界對開源也越來越認(rèn)可。?
第三個就是商業(yè)化,我們現(xiàn)在有很多云服務(wù)提供廠商,比如說阿里云,我們也有很多成熟的商業(yè)化產(chǎn)品,但是在一兩年前這三位并不是融合的,可能是多個團(tuán)隊(duì),每個團(tuán)隊(duì)做一套或者是一個團(tuán)隊(duì)要同時維護(hù)多個版本,因?yàn)樗拇a分支、內(nèi)核產(chǎn)品體驗(yàn)差異都很大,這個是由用戶的場景驅(qū)動的。但是經(jīng)過數(shù)年的發(fā)展,我們發(fā)現(xiàn)這三者各有優(yōu)勢,但也各有劣勢,這個時候我們就需要做一個三位一體的融合,將三位融合為一體,先做一個全面的融合,這樣的話我們既能享受到我們一些開源的優(yōu)秀的設(shè)計(jì)理念,拿到內(nèi)部的場景,通過大量的業(yè)務(wù)場景去錘煉,然后轉(zhuǎn)化成一個非常成熟的商業(yè)化產(chǎn)品,來為我們內(nèi)部或者外部的企業(yè)用戶提供我們“永不停機(jī)的計(jì)算服務(wù)”的目標(biāo)去努力。另一方面我們也能夠同時的享受到我們云原生的這樣一個技術(shù)紅利。這個是我對三位一體的一個理解。
播報(bào)員:
剛剛我記得你還有提到過說去年是IaaS的上云,這樣對業(yè)務(wù)比較無感知,對吧?
今年是PaaS的上云,需要業(yè)務(wù)進(jìn)行一些相應(yīng)的改變。?其實(shí)還有一種方式叫云原生上云,我想讓你來給我們解釋一下,這三種上云的方式究竟有什么樣的區(qū)別呢?
涯海:
IaaS層上云的話,簡單解釋就是你不用買服務(wù)器了,不用去自建機(jī)房了,你可以把你的應(yīng)用的容器直接部署在我們的云端,?就節(jié)省了很多物理的成本。 PaaS上云是什么?就是說不單你的客戶端,就是你自己的應(yīng)用程序不需要再買機(jī)器了,并且你需要使用的一些服務(wù)端的中間件技術(shù),也不需要去自建集群,比如說你不需要去自建一個消息集群,然后再去提供消息服務(wù),也不需要去自建一個注冊中心或者配置中心,你才能享受這樣的服務(wù)。那么我理解的PaaS層上云就是將我們使用的很多中間件的技術(shù)直接變成PaaS化,按需的去使用,就像我們現(xiàn)在IaaS層一直在說彈性,就是我們需要用到多少的物理資源,就去自動的申請,然后當(dāng)流量上漲它可以自動的去做擴(kuò)縮容。那么PaaS同樣是希望往這個理念去發(fā)展,我們把我們的一些中間件服務(wù)以一種計(jì)量的方式來對外提供服務(wù),這個時候你用多少你就花多少的成本,不需要去考慮它的擴(kuò)展性,也不需要考慮它的規(guī)模的瓶頸,比如一些互聯(lián)網(wǎng)的新興公司,它的成長是非常迅速的,可能它的實(shí)例規(guī)模迅速的能從100到1000到上萬到甚至是10萬,這個時候它就不需要經(jīng)歷阿里一代、二代、三代的這樣一個技術(shù)更新,不用再去經(jīng)歷這樣的痛苦,這是第二類。
什么是第三類?我理解云原生就是讓我們無論是IaaS層還是PaaS層的接口更加的標(biāo)準(zhǔn),比如說雖然同樣是把你的中間件服務(wù)部署在云端,那你可能會面臨多個云廠商的這樣的一個糾結(jié),對吧?因?yàn)槊總€云廠商的標(biāo)準(zhǔn)都不一樣,就像你買不同的手機(jī),可能有不同的充電器,這個時候如果你買了兩個手機(jī),充電器可能就不能互用,但是現(xiàn)在大家都基于Type-C的充電接口,都基于這樣的標(biāo)準(zhǔn)接口,也就是我們就無論你是開源自建還是從自建遷移到成熟的云服務(wù)廠商,都不需要再去經(jīng)歷買一個USB轉(zhuǎn)換器的痛苦。這個是我個人的一個理解。
播報(bào)員:
了解了,像我這種不是技術(shù)的同學(xué),我都能聽懂,非常淺顯易懂的科普,非常感謝涯海。
我有聽說過一句話叫做中間件云原生化是云原生從概念到落地的承接,這句話是怎么理解?
涯海:
這句話比較抽象,我也不太好理解,我只能大概的說一下我自己的理解。我聽到一個關(guān)鍵詞就是承接對吧?
其實(shí)中間件一直是承擔(dān)的承上啟下的作用,就是向下的話,我們是要充分的去發(fā)揮我們IaaS層的一些技術(shù)紅利,比如說現(xiàn)在最火的一些彈性的技術(shù),但是我們要屏蔽掉不同的物理設(shè)備其底層的一些差異化,無論是K8S還是容器化的,我們都要去屏蔽底層的物理差異。
向上,我們是需要提供標(biāo)準(zhǔn)的服務(wù)能力,就像我剛才說的PaaS化一樣,這個時候無論是電商業(yè)務(wù),還是說搜索業(yè)務(wù)或者其他的業(yè)務(wù),無論你的業(yè)務(wù)形態(tài)是什么樣,但是所使用的這種中間件的服務(wù)能力是標(biāo)準(zhǔn)的、一致的,我們就可以去支持不同的場景,并且與此同時我們也可以支持不同的語言,無論是Java的還是C++的,對外提供的接口的能力都是一致的。?這個是我對“承接”一詞的理解。
播報(bào)員:
我聽上去感覺上是齒輪,就是一個個比較精細(xì)的齒輪的感覺?
涯海:
不能說齒輪,我覺得它有點(diǎn)像適配器,可能是一個萬能的適配器。只要有了它,你就可以去選擇你想要的一些能力,并且不需要考慮能力之間的一個差異性,它來幫你去做屏蔽,并且你不需要考慮規(guī)模,它也可以幫你去屏蔽規(guī)模帶來的一些問題。
播報(bào)員:
好的,我們這邊還有最后一個問題,都說今年特別重要的一個概念就是全面云原生化,我們今年的雙11也成為了全球最大規(guī)模的云原生實(shí)踐。
其實(shí)我們都知道阿里在近幾年來一直都在做云原生基礎(chǔ)設(shè)施的升級,基礎(chǔ)設(shè)施整體升級以后,云原生中間件將如何重構(gòu)升級呢?如何把底層基礎(chǔ)設(shè)施更好的彈性,通過中間件賦能給上層業(yè)務(wù)?
涯海:
我們現(xiàn)在在做這樣幾個事情,第一個就是我們自己要去擁抱云原生帶來的變化,比如說今年我們中間自己就做了有狀態(tài)應(yīng)用的AIS化,也就是KMS,也就是我們要把我們自己的應(yīng)用變成隨時可以遷移、自動調(diào)度的,然后通過這種調(diào)度的方式解決一些單機(jī)故障,來提高我們整體集群的穩(wěn)定性。?
第二點(diǎn)我們要把自己的很多能力去包裝成一些CRD或者是其他的一些方式,能夠讓用戶更加輕量化地、更加有效地去定制自己的一些需求。
第三個就是說我們要去面對多語言的場景,要去通過一些服務(wù)網(wǎng)格的技術(shù)比如說Mesh,去支持一些異構(gòu)場景以及多元互通的訴求,這個是我們要做的第三點(diǎn),當(dāng)然還有很多其他的點(diǎn),我就不一一介紹了。
總得來說,之前一篇文章中有有一個比喻,我們都知道珠穆朗瑪峰很高對吧?它是一個8848米的高山,極度缺氧、嚴(yán)寒的一個環(huán)境,這個時候我們?nèi)ヅ实沁@樣一座高峰的時候,就需要借助一些設(shè)備,比如說我們的防寒衣,我們的氧氣罐,我們通過這些設(shè)備來幫助我們更好地去攀登我們的頂峰,我們的一些中間件的技術(shù)就是幫助大家去完成這樣的這樣的一個目標(biāo)。?
當(dāng)然我們更希望幫助大家做的事情就是通過云原生中間件技術(shù)的升級,能夠幫助業(yè)務(wù)本身也完成云原生化的轉(zhuǎn)型,就有點(diǎn)像我們拋棄了氧氣罐,拋棄了防寒衣,就像生活在珠穆朗瑪峰上面的一些冰熊等一些原生的動物一樣,我們直接適應(yīng)了云原生的環(huán)境,適應(yīng)了整個云原生的特性,這個時候我們就能更加充分地去發(fā)揮我們云原生技術(shù)紅利的優(yōu)勢。
播報(bào)員:
其實(shí)我們屏幕前有非常多的開發(fā)者,也用了很多阿里中間件的技術(shù),也非常想把阿里中間件的技術(shù)學(xué)好。
對于這些開發(fā)者來說,你有什么好的建議給到他們嗎?
涯海:
首先非常感謝大家能夠喜歡,能夠支持我們阿里的這些技術(shù)。我們阿里中間件最近幾年也花了大量的人力投入在我們整個開源社區(qū)的建設(shè)上面,比如說我們的幾個明星產(chǎn)品,比如說微服務(wù)Dubbo,還有我們的消息產(chǎn)品,還有RocketMQ現(xiàn)在也是Apache的頂級項(xiàng)目產(chǎn)品,還包括我們的軟負(fù)載,以及等等一系列的產(chǎn)品,這些產(chǎn)品我們都有在開展社區(qū)去貢獻(xiàn),同時我們集團(tuán)內(nèi)部的產(chǎn)品和我們商業(yè)化的產(chǎn)品也在進(jìn)行融合,而且我們的內(nèi)核也都是基于這樣的,如果大家感興趣的話,我是建議大家先從開源參與進(jìn)來,然后在參與開源的過程中也可以嘗試自己搭建一些集群去學(xué)習(xí)一下,甚至可以應(yīng)用在你的生產(chǎn)系統(tǒng)里面。但是當(dāng)你的規(guī)模和體量逐漸增長的時候,你可能會遇到更加高深的比如說穩(wěn)定性或者是擴(kuò)展的一些問題,這個時候就可以多跟我們的同學(xué)一起交流,我們也有很多開發(fā)者社區(qū),并且很多內(nèi)部的同學(xué)都是技術(shù)極客,包括我自己,都是非常愿意跟大家一起去交流這些技術(shù)話題的。
播報(bào)員:
好的,最后我就著剛剛我們涯海的話題打一個小廣告,我們現(xiàn)在其實(shí)正在籌備云原生的課程,12月也會發(fā)布云原生微服務(wù)的學(xué)習(xí)路線,都在阿里云開發(fā)者社區(qū),大家可以去持續(xù)關(guān)注,并且學(xué)習(xí)起來,Get同款網(wǎng)紅中間件產(chǎn)品的技術(shù)。
我們今天的訪談就到此結(jié)束了,非常感謝屏幕前的你在這段時間里跟我們一起交流和學(xué)習(xí),也非常感謝我們今天的嘉賓涯海來參加我們今天的訪談,謝謝大家。
涯海:
好,謝謝莫孤,最后我也打一個廣告,對如果大家對阿里的技術(shù)感興趣,對中間件建感興趣,希望能夠共同地去定義未來的云原生,歡迎大家加入我們,跟我們一起努力。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的专访涯海:阿里云中间件是如何支撑双11的?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这可能是大型复杂项目下数据流的最佳实践
- 下一篇: 深入解读:获得 2021 Forrest