天天看點

雙11技術播報特别篇-阿裡雲中間件雙11項目負責人涯海專訪

以下是本次訪談關鍵内容的整理。

點選這裡可前往“2020阿裡雙11技術全觀”專題檢視訪談視訊回放
雙11技術播報特别篇-阿裡雲中間件雙11項目負責人涯海專訪

播報員:

*各位開發者朋友們,大家好。歡迎收看我們這一期的雙11技術播報欄目,我是你們的播報員莫孤。今天我們依然還是雙11技術播報的特别篇,特别邀請了阿裡雲中間件團隊的涯海來參加我們這一期的雙11技術播報欄目,他是這一次中間件團隊的大隊長,帶領着中間件團隊參加了雙11的整個項目,在此過程中肯定有非常多好玩的事情,也會有非常多的技術突破給我們分享。那就讓我們來熱烈歡迎一下涯海來到我們的直播間。

*

涯海:謝謝莫孤。

要不你先跟大家介紹一下自己?

涯海:

我是來自阿裡雲智能的中間件團隊隊長涯海。我是一個新人,其實我覺得自己比較新,首先這是我今年第一年當中間件的隊長,然後我也是一個畢業不到5年的應屆生,是以我認為自己的心态還是比較新的。另外我平時比較喜歡打遊戲,應該跟大多數男生是差不多的,并且我玩魔獸世界已經十幾年了,可以認為是骨灰級的一個玩家,當然是中間AFK過很多次,比如今年做大促就臨時的又AFK了。那正好今年做完(大促)之後,我就準備把我的電腦修一修,再次回到我的艾澤拉斯大陸。 我就介紹這麼多。

好的,剛剛說到電腦的問題,其實我們采訪的另外一位大隊長智盛,聽說他對這一塊特别了解,我覺得你們可以接下來去深度的聊一下電腦怎麼修複的事情。今年是涯海正式加入阿裡的第5年,但是已經作為大隊長帶領中間件團隊去參加整個雙11的項目了,非常的年輕有為。 

我想問一下你第一次當大隊長是一種什麼樣的體驗呢?

首先第一個就是感覺比較刺激,對,因為作為一個BU的大促隊長,其實下面(代領)的同學有很多,第一次享受到了呼風喚雨的感覺,當然這是開玩笑的。

其實刺激的背後就是感覺到挑戰非常的大,因為中間件的産品非常多,我們有20多款産品,然後核心備戰的同學有六七十位,怎麼去進行内部的協調,怎麼進行這麼多産品的協同,然後對外去提供統一的服務,并且我們集團有40多個BU都在用我們中間件的服務,怎麼去保證最終大促的穩定性,這是一個非常具備挑戰和刺激的一個事,這是第一個感受。

 第二個就是感觸就是大促是一個超級工程,它是非常複雜并且精密的,從整個CTO到5位集團的大隊長,到我們40多個BU的隊長,然後層層再到下面的同學,每一層級都是非常嚴密、嚴謹,然後每個人的邊界又很清晰,但是補位的意識要非常的強,大家既是齒輪,又是一個連接配接的樞紐。在這個過程中我就是非常幸運的能夠從更上層的視角去看到整個集團的從業務到最底層的一些實體裝置,比如說網絡供應鍊這類,這個是之前做研發非常不一樣的體感,這是第二點感覺。 

第三點的話就是做大促其實是痛并快樂着。痛苦是肯定有的,因為做大促非常的辛苦,而且今年雙11也非常的長,并且任何一個小的風險點都不能遺漏,因為千裡之堤潰于蟻穴,是以我們的工作必須做的非常細緻,但是快樂也是前所未有的,有點像什麼?比如說我們打籃球,一場可能得了很多球很多分,非常快樂,但是相對來說就沒有踢足球的快樂更大,有可能你踢一場下來隻能進一個球,就是說一個漫長的努力,最終會到一個巨大的回報,以及非常大的滿足感。這個是我個人的一些感觸。

對,我覺得你剛剛描述的特别地生動形象,用踢足球和打籃球來描述一下參加雙11的體感,讓我非常的感同身受。

剛剛也有提到說作為隊長去帶領我們的整個中間件團隊參加雙11的項目的話,可以從業務上有一個更全面地了解。我想問一下中間件今年是怎麼支撐雙11的,達到了怎麼樣的業務結果呢?

首先我們會先根據今年業務的目标來确定我們整體的一些打法,比如說今年我們業務的峰值是什麼樣的,除了峰值之外,會不會有其他的一些核心目标,然後我們會把最重要的目标拆解到中間件的每一個産品,同時結合我們自身的一些産品的技術架構的演進,來提前的去儲備我們的技術的力量,這是第一步:确定目标。 

第二步就是我們要具體确定我們的核心備戰人員,就是有哪些同學,其中老同學有多少,新同學有多少,怎麼使得我們大促的經驗能夠傳承,這個是我們要确認的第二點:人員。

第三個就是我們要确定整體的一個流程,比如說我們的用戶端更新是在什麼階段,我們的服務端更新、驗收,是在什麼階段,壓測在什麼時候,還有封網,就是說整個的流程我們要能夠确定好。

經過目标、人員、打法,最後再按部就班的一步步的實行,當然這些都是計劃内的,但是大促有很多突發、應急的風險,這個時候就需要通過我們提前的一些技術風險的管理,包括我們應急的一些預案,然後來進行快速的響應,最終的結果,個人覺得今年是比較滿意的,因為今年在1号到11号的11天内基本上是全程零故障,而且我們業務上也取得了一些收獲,我們在考拉全站雲原生架構更新的項目裡面,也取得了非常好的一些新技術的突破和印證。

好的,謝謝。剛剛聽你說得到了整個備戰期間零故障的好成績,真的是非常不錯,恭喜。

看來咱們中間件團隊确實下了非常多的功夫,作為隊長,你覺得今年雙11和去年有些什麼不一樣的地方?

今年和去年感覺最不一樣的就是我們全面擁抱雲原生這個點,因為去年的話我們是整個阿裡IaaS層上雲,我們叫全面上雲,但是那個時候還沒有觸及到我們PaaS這一層。

IaaS上雲對于大多數的業務來說都是無感的或者是感覺很少,但是PaaS上雲的話,它的邏輯是跟業務代碼深度耦合的,這個時候我們業務就會有一個很強的感覺,并且可能會需要做大量的改動。這個時候我們怎麼能在保證業務穩定的情況下,平穩地去完成PaaS的更新,這個是今年跟去年特别不一樣的第一點。

第二個就是三位一體,今年從中間的視角,我們很多核心的産品已經加速,甚至是已經完成了我們自研、開源和商業化産品的全面融合,一方面可以節省我們内部的産品支援和維護的一個成本,也就是說可以減少我們的成本,另一方面也為我們集團内走向開放标準的技術生态,去享受雲原生的技術紅利來打下了一個很好的基礎,并且能夠讓外部的雲産品得到内部大量場景的錘煉,來增強我們服務超大批客戶的産品化的能力。 

這兩點我覺得是今年雙十一和去年雙十一差異比較大的兩點。

了解了。确實,我們中間件産品裡面其實有非常多的網紅産品,就是各位開發者都用得非常多,相信螢幕前的你(觀衆)應該也用過,那你(觀衆)腦海中有出現什麼樣的阿裡中間件的網紅産品的話,現在就可以發彈幕告訴我們。

剛剛我們有提到,今年全面雲原生化帶來了很多不一樣的地方,這又帶來了哪些核心技術的更新呢?

核心技術的更新的話,我覺得第一個就是我們Dubbo 3.0,在考拉樣闆間的一個落地,什麼是Dubbo 3.0?就要提到大家比較熟悉的網紅的微服務Dubbo,Dubbo我們現在主要是在2.X的版本,那麼Dubbo 2 和我們集團内部大規模使用的HSF的微服務架構,它本身的相容性不是特别好,但是Dubbo 3.0 就可以完全相容我們2.0和集團内的HSF微服務。比如說考拉,它是我們并購的一個産品線,那麼它一開始用的就是基于開源自建的一個分支,就是Dubbo k,它在融入到阿裡之後,跟阿裡的電商體系去做融合互通的時候,就需要同Dubbo 2.0和我們内部的HSF去做一個互通。 這個時候我們給出的方案就是通過Dubbo 3.0 來完成這樣的橋接,今年我們是在考拉完成了Dubbo 3.0的更新和落地,明年我們要在集團内做大規模的3.0的更新,這是第一點。

第二點就是我們今年的一個中間件4.0的一個項目,什麼是中間件4.0?就是針對單叢集、百萬執行個體規模,我們需要做的特别大的一些性能優化,包括我們基于雲原生的流量控制,還有我們的Mesh服務網格的技術。今年這三項技術都取得了比較大的突破和成果。

好的。 剛剛有聽到你說三位一體的一個體系,這三位一體是哪三位?為什麼三位一體在今年會變得如此重要呢?

行,先說說三位一體是哪三位?首先第一個就是自研,阿裡的技術一開始都是基于内部的場景,雙11的這種電商的峰值孵化出來的很多創新型的技術,這個是結合我們的資源高度定制,非常契合我們阿裡生态的一些技術。

第二個就是開源,随着開源的設計越來越繁榮,有很多優秀的設計理念,然後包括K8S等這些産品,并且現在整個業界對開源也越來越認可。 

第三個就是商業化,我們現在有很多雲服務提供廠商,比如說阿裡雲,我們也有很多成熟的商業化産品,但是在一兩年前這三位并不是融合的,可能是多個團隊,每個團隊做一套或者是一個團隊要同時維護多個版本,因為它的代碼分支、核心産品體驗差異都很大,這個是由使用者的場景驅動的。但是經過數年的發展,我們發現這三者各有優勢,但也各有劣勢,這個時候我們就需要做一個三位一體的融合,将三位融合為一體,先做一個全面的融合,這樣的話我們既能享受到我們一些開源的優秀的設計理念,拿到内部的場景,通過大量的業務場景去錘煉,然後轉化成一個非常成熟的商業化産品,來為我們内部或者外部的企業使用者提供我們“永不停機的計算服務”的目标去努力。另一方面我們也能夠同時的享受到我們雲原生的這樣一個技術紅利。這個是我對三位一體的一個了解。

剛剛我記得你還有提到過說去年是IaaS的上雲,這樣對業務比較無感覺,對吧?

今年是PaaS的上雲,需要業務進行一些相應的改變。 其實還有一種方式叫雲原生上雲,我想讓你來給我們解釋一下,這三種上雲的方式究竟有什麼樣的差別呢?

IaaS層上雲的話,簡單解釋就是你不用買伺服器了,不用去自建機房了,你可以把你的應用的容器直接部署在我們的雲端, 就節省了很多實體的成本。 PaaS上雲是什麼?就是說不單你的用戶端,就是你自己的應用程式不需要再買機器了,并且你需要使用的一些服務端的中間件技術,也不需要去自建叢集,比如說你不需要去自建一個消息叢集,然後再去提供消息服務,也不需要去自建一個注冊中心或者配置中心,你才能享受這樣的服務。那麼我了解的PaaS層上雲就是将我們使用的很多中間件的技術直接變成PaaS化,按需的去使用,就像我們現在IaaS層一直在說彈性,就是我們需要用到多少的實體資源,就去自動的申請,然後當流量上漲它可以自動的去做擴縮容。那麼PaaS同樣是希望往這個理念去發展,我們把我們的一些中間件服務以一種計量的方式來對外提供服務,這個時候你用多少你就花多少的成本,不需要去考慮它的擴充性,也不需要考慮它的規模的瓶頸,比如一些網際網路的新興公司,它的成長是非常迅速的,可能它的執行個體規模迅速的能從100到1000到上萬到甚至是10萬,這個時候它就不需要經曆阿裡一代、二代、三代的這樣一個技術更新,不用再去經曆這樣的痛苦,這是第二類。

什麼是第三類?我了解雲原生就是讓我們無論是IaaS層還是PaaS層的接口更加的标準,比如說雖然同樣是把你的中間件服務部署在雲端,那你可能會面臨多個雲廠商的這樣的一個糾結,對吧?因為每個雲廠商的标準都不一樣,就像你買不同的手機,可能有不同的充電器,這個時候如果你買了兩個手機,充電器可能就不能互用,但是現在大家都基于Type-C的充電接口,都基于這樣的标準接口,也就是我們就無論你是開源自建還是從自建遷移到成熟的雲服務廠商,都不需要再去經曆買一個USB轉換器的痛苦。這個是我個人的一個了解。

了解了,像我這種不是技術的同學,我都能聽懂,非常淺顯易懂的科普,非常感謝涯海。

我有聽說過一句話叫做中間件雲原生化是雲原生從概念到落地的承接,這句話是怎麼了解?

這句話比較抽象,我也不太好了解,我隻能大概的說一下我自己的了解。我聽到一個關鍵詞就是承接對吧?

其實中間件一直是承擔的承上啟下的作用,就是向下的話,我們是要充分的去發揮我們IaaS層的一些技術紅利,比如說現在最火的一些彈性的技術,但是我們要屏蔽掉不同的實體裝置其底層的一些差異化,無論是K8S還是容器化的,我們都要去屏蔽底層的實體差異。

向上,我們是需要提供标準的服務能力,就像我剛才說的PaaS化一樣,這個時候無論是電商業務,還是說搜尋業務或者其他的業務,無論你的業務形态是什麼樣,但是所使用的這種中間件的服務能力是标準的、一緻的,我們就可以去支援不同的場景,并且與此同時我們也可以支援不同的語言,無論是Java的還是C++的,對外提供的接口的能力都是一緻的。 這個是我對“承接”一詞的了解。

我聽上去感覺上是齒輪,就是一個個比較精細的齒輪的感覺?

不能說齒輪,我覺得它有點像擴充卡,可能是一個萬能的擴充卡。隻要有了它,你就可以去選擇你想要的一些能力,并且不需要考慮能力之間的一個差異性,它來幫你去做屏蔽,并且你不需要考慮規模,它也可以幫你去屏蔽規模帶來的一些問題。

好的,我們這邊還有最後一個問題,都說今年特别重要的一個概念就是全面雲原生化,我們今年的雙11也成為了全球最大規模的雲原生實踐。

其實我們都知道阿裡在近幾年來一直都在做雲原生基礎設施的更新,基礎設施整體更新以後,雲原生中間件将如何重構更新呢?如何把底層基礎設施更好的彈性,通過中間件賦能給上層業務?

我們現在在做這樣幾個事情,第一個就是我們自己要去擁抱雲原生帶來的變化,比如說今年我們中間自己就做了有狀态應用的AIS化,也就是KMS,也就是我們要把我們自己的應用變成随時可以遷移、自動排程的,然後通過這種排程的方式解決一些單機故障,來提高我們整體叢集的穩定性。 

第二點我們要把自己的很多能力去包裝成一些CRD或者是其他的一些方式,能夠讓使用者更加輕量化地、更加有效地去定制自己的一些需求。

第三個就是說我們要去面對多語言的場景,要去通過一些服務網格的技術比如說Mesh,去支援一些異構場景以及多元互通的訴求,這個是我們要做的第三點,當然還有很多其他的點,我就不一一介紹了。

總得來說,之前一篇文章中有有一個比喻,我們都知道珠穆朗瑪峰很高對吧?它是一個8848米的高山,極度缺氧、嚴寒的一個環境,這個時候我們去攀登這樣一座高峰的時候,就需要借助一些裝置,比如說我們的防寒衣,我們的氧氣罐,我們通過這些裝置來幫助我們更好地去攀登我們的頂峰,我們的一些中間件的技術就是幫助大家去完成這樣的這樣的一個目标。 

當然我們更希望幫助大家做的事情就是通過雲原生中間件技術的更新,能夠幫助業務本身也完成雲原生化的轉型,就有點像我們抛棄了氧氣罐,抛棄了防寒衣,就像生活在珠穆朗瑪峰上面的一些冰熊等一些原生的動物一樣,我們直接适應了雲原生的環境,适應了整個雲原生的特性,這個時候我們就能更加充分地去發揮我們雲原生技術紅利的優勢。

其實我們螢幕前有非常多的開發者,也用了很多阿裡中間件的技術,也非常想把阿裡中間件的技術學好。

對于這些開發者來說,你有什麼好的建議給到他們嗎?

首先非常感謝大家能夠喜歡,能夠支援我們阿裡的這些技術。我們阿裡中間件最近幾年也花了大量的人力投入在我們整個開源社群的建設上面,比如說我們的幾個明星産品,比如說微服務Dubbo,還有我們的消息産品,還有RocketMQ現在也是Apache的頂級項目産品,還包括我們的軟負載,以及等等一系列的産品,這些産品我們都有在開展社群去貢獻,同時我們集團内部的産品和我們商業化的産品也在進行融合,而且我們的核心也都是基于這樣的,如果大家感興趣的話,我是建議大家先從開源參與進來,然後在參與開源的過程中也可以嘗試自己搭建一些叢集去學習一下,甚至可以應用在你的生産系統裡面。但是當你的規模和體量逐漸增長的時候,你可能會遇到更加高深的比如說穩定性或者是擴充的一些問題,這個時候就可以多跟我們的同學一起交流,我們也有很多開發者社群,并且很多内部的同學都是技術極客,包括我自己,都是非常願意跟大家一起去交流這些技術話題的。

好的,最後我就着剛剛我們涯海的話題打一個小廣告,我們現在其實正在籌備雲原生的課程,12月也會釋出雲原生微服務的學習路線,都在阿裡雲開發者社群,大家可以去持續關注,并且學習起來,Get同款網紅中間件産品的技術。

我們今天的訪談就到此結束了,非常感謝螢幕前的你在這段時間裡跟我們一起交流和學習,也非常感謝我們今天的嘉賓涯海來參加我們今天的訪談,謝謝大家。

好,謝謝莫孤,最後我也打一個廣告,對如果大家對阿裡的技術感興趣,對中間件建感興趣,希望能夠共同地去定義未來的雲原生,歡迎大家加入我們,跟我們一起努力。

更多精彩

戳我前往2020阿裡巴巴雙11技術專題
雙11技術播報特别篇-阿裡雲中間件雙11項目負責人涯海專訪

繼續閱讀