一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

阿里畢玄:阿里十年,從分布式到云時代的架構(gòu)演進之路

 TGO鯤鵬會 2021-01-08

杭州 E 家宴大合影

2018 年 12 月 15 日,TGO 鯤鵬會杭州分會拉開了 TGO 特有的技術(shù)人年會「E 家宴」的帷幕,60+CTO/ 技術(shù) VP 相聚在杭州殊勝龍井酒店。其中,阿里巴巴系統(tǒng)軟件、中間件、研發(fā)效能負(fù)責(zé)人畢玄,連尚網(wǎng)絡(luò)副總裁 &WiFi 萬能鑰匙萬能接入業(yè)務(wù)群 CEO、TGO 鯤鵬會上海會員萬玉權(quán), 同盾科技聯(lián)合創(chuàng)始人 & 技術(shù) VP、TGO 鯤鵬會杭州會長張新波,及 TGO 鯤鵬會杭州會員、大搜車技術(shù) VP 沈淦、尚尚簽 CTO 陶真,和浪潮集團 AI 首席架構(gòu)師 張清等重磅嘉賓應(yīng)邀出席,與參會者一起探討云時代的軟件架構(gòu)、技術(shù)紅利、團隊轉(zhuǎn)型 / 演進 / 發(fā)展等話題。

本篇文章根據(jù)畢玄在活動現(xiàn)場分享的《云時代的軟件架構(gòu)》整理,有部分不改變原意的刪減。后續(xù)還將整理發(fā)布技術(shù)團隊建設(shè)和管理、AI 計算系統(tǒng)設(shè)計優(yōu)化等精彩內(nèi)容,敬請關(guān)注。

林昊 | 花名畢玄

畢玄,阿里巴巴系統(tǒng)軟件、中間件、研發(fā)效能負(fù)責(zé)人。

2018 級電子與信息領(lǐng)域工程博士研究生。2007 加入阿里,經(jīng)歷阿里電商 10 多年來的技術(shù)架構(gòu)演進,打造了阿里重要的中間件 HSF 服務(wù)框架,設(shè)計并帶領(lǐng)多團隊實現(xiàn)了阿里電商異地多活架構(gòu)。2011 年開始打造了阿里自研的容器及對資源利用率提升巨大的統(tǒng)一調(diào)度系統(tǒng)。先后任職淘寶網(wǎng)平臺架構(gòu)部架構(gòu)師、集團核心系統(tǒng)研發(fā)部資深技術(shù)專家、阿里中間件負(fù)責(zé)人。

奠定阿里五年業(yè)務(wù)快速發(fā)展基礎(chǔ)的架構(gòu)改造

阿里經(jīng)歷了幾次較大的軟件架構(gòu)迭代,首先是分布式時代的阿里電商架構(gòu)。淘寶從 2007 年開始做新一輪架構(gòu)改造,淘寶從 2007 年開始碰到的最大的問題,即訪問量增長太快,導(dǎo)致出現(xiàn)了一個問題:不能加機器了,即伸縮性的問題。淘寶在業(yè)務(wù)發(fā)展過程中,2008 年以前所有的解決方案就是簡單加機器就能解決,但是到 2007 年突然出現(xiàn)加不了,那時候淘寶數(shù)據(jù)庫用的是中國最好的 IBM 的小型機。以前數(shù)據(jù)庫連接我們用 Oracle,Oracle 數(shù)據(jù)庫最大的問題是每個鏈接消耗的內(nèi)存特別大。因為內(nèi)存始終有瓶頸,所以當(dāng)我們內(nèi)存、數(shù)據(jù)庫連接不夠的時候,我們的解決辦法是多插內(nèi)存條,后來內(nèi)存條插滿了,就沒有辦法了。所以 2007 年淘寶判斷必須做新一輪的架構(gòu)改造,讓我們具備水平伸縮能力。

大家現(xiàn)在都知道一個思路,既然一個系統(tǒng)加不了機器,數(shù)據(jù)庫抗不住,那就把一個數(shù)據(jù)庫拆成兩個數(shù)據(jù)庫,把訪問數(shù)據(jù)庫的業(yè)務(wù)盡可能集中。以交易為例,以前是所有的 web 應(yīng)用都要訪問的,如果你把交易邏輯抽象出來,把訪問數(shù)據(jù)庫操作的地方抽象成一個系統(tǒng),而這個系統(tǒng)其實不需要很多機器,連接數(shù)就可以大幅度下降,這是當(dāng)時的思路。

那時候淘寶面臨主要問題是能否再次水平伸縮,但是還有第二個問題,那就是被技術(shù)團隊投訴研發(fā)進度太慢。我加入淘寶時有 100 多個工程師,開發(fā)了同一個系統(tǒng),每個人都可以改里面所有的代碼。這個時候問題就來了,比如我接了一個業(yè)務(wù),我要改這個類這一行代碼,然后另外一個業(yè)務(wù)也要改同一類同一行的代碼。等這兩個人一提交,同一天發(fā)布,合并代碼就合不了,因為邏輯太復(fù)雜了。所以淘寶當(dāng)時創(chuàng)新性提倡了一種方法:排期。我們在每個月第一天會開淘寶歷史上研發(fā)團隊最激烈以及大家斗志最昂揚的會議,就是用來排這個月的發(fā)布。如果兩個研發(fā)團隊發(fā)生了沖突,那就 PK 一下誰的需求牛逼。當(dāng)演進成新的架構(gòu)的時候,這個問題就被解掉了。

當(dāng)阿里巴巴整個架構(gòu)演進成一套服務(wù)式架構(gòu)的時候,一是隨伸縮上的能力和價值被認(rèn)可;第二,2008 年研發(fā)團隊從 100 人增加到 200 人,2009 年增加到近 600 人以上,一年是幾倍地增長。如果當(dāng)時沒有做服務(wù)化,整個淘寶業(yè)務(wù)發(fā)展會受到非常大的影響。所以我們湊巧在最應(yīng)該做架構(gòu)改造的時候做完了,這一輪是淘寶歷史上比較重要的一輪,在這一輪架構(gòu)中打造出三個最重要的中間件:服務(wù)框、消息中間件、TDDL 云上服務(wù)。這一輪架構(gòu)為阿里巴巴 2008-2013 年五年業(yè)務(wù)的快速發(fā)展奠定了堅實的基礎(chǔ)。那五年,大部分的團隊不用關(guān)注技術(shù)問題,而是可以非??斓刈鰳I(yè)務(wù),這對淘寶而言非常重要。

到后來架構(gòu)圖就畫得相對標(biāo)準(zhǔn)一點,現(xiàn)在大部分的公司都是這個架構(gòu),沒有什么區(qū)別,基本上都分成三層。這個架構(gòu)從 2008-2009 年初,花一年的時間完成架構(gòu)改造,代號五彩石,五彩石項目把淘寶和淘寶商城技術(shù)架構(gòu)合并,合并成新的架構(gòu),這個項目對整個阿里的意義絕對重大。這個項目做完以后,架構(gòu)差不多完成了。

架構(gòu)完成以后,我們一致認(rèn)為我們做了非常完美的架構(gòu),但上線以后,我們發(fā)現(xiàn)這個架構(gòu)碰到的最大問題是穩(wěn)定性問題。2009 年淘寶穩(wěn)定性是整個淘寶歷史上最差的一年,我們在那一年穩(wěn)定性小于 3 個 9。后來這個架構(gòu)在發(fā)展過程中不斷演進,我們重點做穩(wěn)定性。除了穩(wěn)定性,也存在其他小的挑戰(zhàn),比如秒殺,那個架構(gòu)對秒殺沒有什么特殊支持的,所以我們后來對秒殺做了針對性地改造,當(dāng)然整個結(jié)構(gòu)沒有變過,這個架構(gòu)支撐了淘寶非常多年,直到 2013 年。

到了 2013 年,我們碰到了新的挑戰(zhàn)。因為規(guī)模增長的問題,導(dǎo)致我們在 2013 年雙 11 的時候突然間發(fā)現(xiàn)了一個問題,我們在雙 11 備戰(zhàn)的前一個月也要加機器。數(shù)據(jù)庫團隊告訴我們不能加太多,因為那時候已經(jīng)不是買 Oracle,是 MySQL,MySQL 的連接確實比 Oracle 更小很多,但是我們前面的機器也是很多,所以最后的鏈接池又成為了問題。當(dāng)然除了數(shù)據(jù)庫以外,我們發(fā)現(xiàn)中間件和其他的東西也存在一些問題,雖然我們整個是分布式系統(tǒng),但是一個分布式系統(tǒng)里面一定有某些點是集中的,某些點一定是全部都要接的,那些點隨著規(guī)模的上升就會成為很大的瓶頸點。所以到了 2013 年,我們就再次面臨了這個挑戰(zhàn),那時候已經(jīng)是雙 11 前一個月,我們已經(jīng)改變不了什么。那年我們臨時用了別的方案頂過了那一年的雙 11,但在那年雙 11 以后我們明白,阿里迎來了新一輪架構(gòu)升級的機會。

新一輪的架構(gòu)改造:異地多活

2013 年,我們決定開始做阿里巴巴新一輪的架構(gòu)改造,我們把這一輪架構(gòu)改造在內(nèi)部稱為單元化,版本的代號是 3.0 到 4.0。這一輪解決的第一個問題是水平伸縮,怎么樣在不加機器下扛大的規(guī)模;二是我們決定必須做另外一件事情,讓整個阿里可以隨便在哪里部署,并且是多個地點。

很多人記得 2013 年杭州特別熱,40 度高溫持續(xù)了十幾天,結(jié)果是阿里巴巴接到了通知,我們的其中機房必須限電。那一年嚇壞我們了,因為那個機房是數(shù)據(jù)庫機房,如果斷了,整個淘寶全掛了,那一次事件給了我們無比大的教訓(xùn)。

這個項目跟我們做分布式有一個很大的不同,2008 年做的時候我們其實有參考對象。2013 年我們做異地多活的時候沒有參考對象,而且大家都認(rèn)為這件事情風(fēng)險非常高,如果能不做盡可能不要做。從全球來看,谷歌很早做了,F(xiàn)acebook 做了一點點但沒有做得太徹底,亞馬遜和 eBay 都是不做的。后來我們參考各家方案,發(fā)現(xiàn)谷歌的方案在電商行業(yè)根本不可用,谷歌不在乎響應(yīng)時間,但是交易非常在乎。比如你下單慢一點,在雙 11 這樣的場景下肯定會導(dǎo)致我們崩盤,因為響應(yīng)時間往上拉高,我們沒有辦法支持。Facebook 和騰訊都做了,騰訊主要是微信做,但微信其實是一個消息 IM 系統(tǒng),IM 其實是比較容易做的,因為大家本來就是異步交互,但是交易是特別強調(diào)同步并且對數(shù)據(jù)一致性要求特別高的場景,所以我們在做整個方案的時候完全只能自己想到底該怎么辦。我們最后做的方案是這邊的方案——異地多活。

我自己帶著團隊做這個方案的時候,最關(guān)心的只有一個問題:異地多活最大的風(fēng)險是什么?因為它是活的,異地這個點不是冷備的點,意味著異地的點也在寫數(shù)據(jù),它最大的風(fēng)險就在于每個點都在寫數(shù)據(jù),如果數(shù)據(jù)一旦寫錯了就廢了。阿里是一家做信任的公司,只要數(shù)據(jù)一錯,我們這個公司的聲譽就毀了。所以當(dāng)時做這個方案,我們跟架構(gòu)師團隊講最重要的是:不要出現(xiàn)數(shù)據(jù)錯亂,其他我們都可以接受。其實這個項目在整個架構(gòu)設(shè)計上是非常充分體現(xiàn)了當(dāng)時最活的講 CAP 只能選兩個地方,因為我們選擇了數(shù)據(jù)一致性,所以一定程度上犧牲了可用性,對可用性會有一些影響。

這個項目在 2016 年基本上全部做完,從 2016 年以后整個阿里部署架構(gòu)一直都是這樣的,我們現(xiàn)在一直都是三地部署,我們有三個點,任何一個點掛了對我們都沒有任何影響,我們切換流量大概只需要在 30 秒內(nèi)就可以全部完成。因為我們上了以后才發(fā)現(xiàn)單地風(fēng)險很容易出現(xiàn)風(fēng)險,尤其是單個機房,比如說路由器、交換機出現(xiàn)問題,你就不知道怎么辦,但是多地就沒有問題。

這個架構(gòu)對阿里來講最大的價值:第一,再次具備水平伸縮的能力,我們現(xiàn)在支持雙 11,只需要不斷擴容單元或者說重新新建不同的單元,就可以完成整個過程;第二,可以讓地域級的容災(zāi)能力提升,因為我們都是活的,所以就可以隨便切來切去。淘寶在雙 11 前面一個月密集備戰(zhàn)的過程,我們就會不斷切流量,每天白天都在切流量,但我相信很多用戶是從來沒有感受過我們在切流量。所以我認(rèn)為這次架構(gòu)改造之后,應(yīng)該還能撐個很多年。

資源彈性時代的阿里電商架構(gòu)

近幾年主要圍繞另外一件事情做。你們都會發(fā)現(xiàn)我們在做前面兩個版本改造最大的區(qū)別是:前兩個版本都在解決水平伸縮的問題,其實水平伸縮是業(yè)務(wù)對技術(shù)團隊的基本要求,你肯定要做到可以加機器解掉業(yè)務(wù)高峰的問題,所以這時候技術(shù)團隊對業(yè)務(wù)團隊的價值是有限的。但隨著我們在水平伸縮上解決得更好,包括雙 11 穩(wěn)定性的確保上做得越來越好,技術(shù)團隊可以做更多。其實雙 11 后來面臨的問題和挑戰(zhàn)是成本,穩(wěn)定性方面隨著全鏈路壓測之后,我們就發(fā)現(xiàn)很多東西越來越穩(wěn)了,但是雙 11 的成本是我們很大的壓力,因為雙 11 的峰值跟日常的峰值差距越來越拉大,意味著為了雙 11 前面那一段時間,我們要付出的代價是非常巨大的。所以現(xiàn)在這個問題就成為了我們最頭痛的問題。

我講阿里的技術(shù)架構(gòu)演進時,很多人會問我一個問題:雙 11 后,你們的機器都拿去干嘛了?這句話,每次都問得我非常尷尬,我也不知道怎么回答,我也只能隨便扯,通常的扯法告訴你下一年日常峰值會接近雙 11 的峰值,那就沒怎么浪費,但很多人都懂其實是不大可能的,所以很難回答。但是阿里還好,出現(xiàn)了兩個變數(shù)。我們后來出現(xiàn)了兩個東西,來讓我們更好解決這個問題:第一,阿里云。從 2014 年開始阿里云發(fā)展起來了,阿里云的發(fā)展對我們來講有一個巨大的好處,因為我可以借阿里云的資源臨時頂一下雙 11,借完了再還給阿里云,阿里云再售賣,這只是一個周期的問題。所以阿里云的起來,至少對雙 11 的幫助是非常巨大的。我們也用了很多年的時間做這件事情,因為阿里的技術(shù)和阿里云的技術(shù)確實有差別,所以為了讓我們的東西能跑在阿里云上,并且對業(yè)務(wù)研發(fā)團隊沒有感覺,其實也要做很多的東西,比如說運維系統(tǒng)怎么對接兩套不一樣的東西,又讓業(yè)務(wù)沒有安全,資源的使用方式不一樣,阿里云上是 ECS,我們內(nèi)部都是容器,所以這兩者也要做對接。所以我們當(dāng)時做了很多這方面的工作。

可以給大家一個數(shù)據(jù)。我們在 2014 年用阿里云資源扛雙 11 10% 的流量,2015 年用阿里云的資源扛 60% 的流量,2015 年扛 60%流量的那一年做雙 11 的成本,每萬筆下降了 50%,后來幾年我們一直延用這個方案,不斷增加云的資源。

但是去年開始發(fā)現(xiàn)其實我們還有別的路可以走,除了云以外,因為用云其實還是要錢的。比如,我們要用很長一段時間,因為我們買的機器實在太多了,阿里云賣掉也需要一些時間。后來我們在想有沒有不用錢的方案?其實現(xiàn)在大部分內(nèi)部有兩個最大的集群,一個用來部署在線業(yè)務(wù),一個用來部署離線業(yè)務(wù)。通常來講,你有兩個集群,但是這兩個集群沒有太大的關(guān)系。

所以我們認(rèn)為在雙 11 的時候可以用大數(shù)據(jù)計算的集群扛短時的高峰。我們開始做這個方案,但是這個方案有個非常復(fù)雜的問題,雖然我們的離線沒有那么重要,但也不能全部停掉,因為如果全部停掉對雙 11 也會產(chǎn)生影響,大家知道我們有實時推薦,我們需要大數(shù)據(jù)進行計算。如果不能全停,就有一個問題:怎么保證在線業(yè)務(wù)放上去跑的時候,離線不會把你的資源全部搶光?所以有一個互相干擾的問題。我們在過去幾年,在操作系統(tǒng)的部分、調(diào)度系統(tǒng)部分做很多的工作,來避免這個問題。今年,我們大概用離線機器扛了 16 萬筆的交易,相當(dāng)于 16 萬筆交易不用花錢,完全免費,對業(yè)務(wù)團隊來講,今年雙 11 每萬筆交易成本相比去年又下降了 17%。我們總共有 49.1 萬筆,所以帶來的成本節(jié)省是非常壯觀的。

云時代的軟件架構(gòu)走向何方?

云時代的軟件架構(gòu)走向何方?這是我們一直在思考的部分,我們在想未來怎么跟云結(jié)合。我前面所講的資源彈性跟云就有很大的關(guān)系。所以我們認(rèn)為云時代軟件架構(gòu),在價值層面看到的:對很多使用方來說,第一點是彈性,我可以有高峰就用、沒有高峰就退。阿里還有另外一家特別典型的公司:餓了么。餓了么是典型有非常明顯高峰效應(yīng)的公司,但是它過了高峰就沒有什么量了,這種公司,如果你為高峰準(zhǔn)備錢,投入是非常大的,所以它跟云更好結(jié)合,在彈性上一定可以享受非常大的價值;第二點,我們認(rèn)為云的整體演進會帶來另外一點改變是整個業(yè)務(wù)研發(fā)團隊會越來越不關(guān)注下面是什么,越來越脫離下面這一層,這是我們認(rèn)為的一個風(fēng)向,因為阿里巴巴在今年雙 11 里面已經(jīng)小面積使用了這個技術(shù)。比如說大家看到的手淘首頁,首頁下面有很多推薦,如果按以前的開發(fā)方式,門檻是很高的,你要懂阿里巴巴背后非常多的技術(shù)。但今年我們把它改成了很類似的方式,前端的人可以簡單寫幾個函數(shù),把頁面組裝起來,后面有非常復(fù)雜的服務(wù)調(diào)用、擴容體系,把很多工作都隱藏到了背后的一套平臺,前端的人在整體業(yè)務(wù)效率上非常高。所以我們認(rèn)為如果我們的軟件架構(gòu)真的演進到跟云深度整合,有一個好處是你的研發(fā)效率會提高,門檻會降低,至少在阿里幾個場景里我們看到了這個現(xiàn)象。

我們在內(nèi)部討論一個問題:我們認(rèn)為阿里走到今天面臨的一個很大問題是每進到一個阿里做業(yè)務(wù)研發(fā)的員工,如果你想做好一個業(yè)務(wù)研發(fā),你都要了解阿里背后非常復(fù)雜的技術(shù)體系。而你要了解這個技術(shù)體系,門檻不低,你要學(xué)習(xí)很多的東西。但是我相信做過業(yè)務(wù)研發(fā)的人知道,做業(yè)務(wù)研發(fā)的代碼邏輯不應(yīng)該關(guān)心這些東西,他應(yīng)該關(guān)心怎么把業(yè)務(wù)邏輯抽象成一個比較簡單的東西,這是業(yè)務(wù)最核心的問題,現(xiàn)在就導(dǎo)致很多業(yè)務(wù)人需要花更多時間學(xué)技術(shù),而不是研究業(yè)務(wù),我們認(rèn)為這個事會被改變。

所以在云的時代,我們希望設(shè)計一個右邊的架構(gòu),希望在下面有一個非常厚的平臺,所有的業(yè)務(wù)團隊更加關(guān)注寫一些很小的代碼片段或者相對來講更為復(fù)雜一點的簡單服務(wù),通過下面的東西幫你組裝,你也不用關(guān)心所有的架構(gòu)。這是我們希望云演進的方向,也是我們現(xiàn)在探索阿里巴巴整個軟件架構(gòu)怎么演進成這個樣子。大家看阿里的架構(gòu)演進,就可以發(fā)現(xiàn)我們前面解了伸縮性問題,成本問題基本接近解決,當(dāng)然還需要進一步努力。我們現(xiàn)在關(guān)注的下一個問題是效率問題,怎么讓我們的效率進一步提升起來,比如說我們希望阿里巴巴整個業(yè)務(wù)研發(fā)的門檻能夠降低到像 2007 年一樣,這樣的話業(yè)務(wù)研發(fā)的效率就會非常高,但這背后必須有很復(fù)雜的方案。所以我們認(rèn)為這一代架構(gòu)最關(guān)鍵的是怎么降低研發(fā)門檻,怎么大幅拉高研發(fā)效率,這就是阿里現(xiàn)在正在探索的。

活動花絮

萬玉權(quán)、畢玄、霍泰穩(wěn)(校長)合影

現(xiàn)場分享圖

晚宴錦鯉大獎,法國 PVCP 集團代表

特別鳴謝

在最后,感謝浪潮對本次 E 家宴的特別贊助。同時,也要感謝浪潮對 TGO 鯤鵬會一直以來的支持,在今年 6 月份,浪潮互聯(lián)網(wǎng)行業(yè)部 ITO 李鋼加入 TGO 鯤鵬會;9 月份,浪潮行業(yè)總監(jiān)李志偉也隨即加入。

浪潮,是全球領(lǐng)先的云計算大數(shù)據(jù)服務(wù)商,旗下?lián)碛?4 家上市公司,助力互聯(lián)網(wǎng)、政府、大企業(yè)等眾多行業(yè)數(shù)字化轉(zhuǎn)型。自 1993 年中國第一臺服務(wù)器,浪潮始終引領(lǐng)全球服務(wù)器產(chǎn)業(yè)的發(fā)展,不斷引領(lǐng)技術(shù)升級,先后 29 次創(chuàng)造國際權(quán)威測試最好成績,銷售額位居全球第三,中國第一。在互聯(lián)網(wǎng)行業(yè),浪潮已連續(xù) 4 年蟬聯(lián)第一,全面服務(wù)于世界級的互聯(lián)網(wǎng)公司,并為公有云、電商、短視頻、互聯(lián)網(wǎng) + 等細分行業(yè)的 TOP 客戶提供服務(wù)。

口述 | 畢玄
整理 | Echo Tang

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久久精品免费视看国产成人| 91国自产精品中文字幕亚洲| 欧美一级黄片免费视频| 中国一区二区三区人妻| 国产亚洲中文日韩欧美综合网 | 日韩国产中文在线视频| 操白丝女孩在线观看免费高清| 成年人视频日本大香蕉久久| 欧美乱视频一区二区三区| 国产精品日韩精品一区| 亚洲欧美国产网爆精品| 美国黑人一级黄色大片| 国产欧美一区二区另类精品| 色一情一乱一区二区三区码| 伊人久久五月天综合网| 国产精品亚洲欧美一区麻豆| 韩日黄片在线免费观看| 国内自拍偷拍福利视频| 九九热视频免费在线视频| 东京热加勒比一区二区| 激情视频在线视频在线视频| 国产免费成人激情视频| 老熟妇乱视频一区二区| 色小姐干香蕉在线综合网| 国产一区二区不卡在线播放| 亚洲国产精品肉丝袜久久| 日本午夜免费观看视频| 国产高清一区二区不卡| 亚洲五月婷婷中文字幕| 国产欧美一区二区色综合| 国产又粗又猛又大爽又黄| 日本少妇aa特黄大片| 美日韩一区二区精品系列| 亚洲中文在线观看小视频| 精品一区二区三区免费看| 亚洲一区二区三区在线中文字幕| 91人妻人澡人人爽人人精品| 日韩人妻免费视频一专区| 男女午夜在线免费观看视频| 欧美日韩人妻中文一区二区 | 午夜传媒视频免费在线观看|