商業(yè)價(jià)值 發(fā)表于:14年07月17日 14:00 [轉(zhuǎn)載] DOIT.com.cn
小機(jī),再見!
淘寶是首先推行“去IOE”戰(zhàn)略的業(yè)務(wù)部門之一。“去IOE”之所以能從淘寶開始,是因?yàn)樘詫殦碛邪⒗镒畲蟮腛racle數(shù)據(jù)庫(kù),成本和技術(shù)壓力最大。淘寶技術(shù)專家余鋒曾說:盡管Oracle數(shù)據(jù)庫(kù)性能穩(wěn)定,但是對(duì)于淘寶來講,Oracle數(shù)據(jù)庫(kù)本身已經(jīng)不能滿足業(yè)務(wù)需求。淘寶的數(shù)據(jù)庫(kù)專家從IT前端逐漸過渡到后端,弱化Oracle數(shù)據(jù)庫(kù),把“Oracle數(shù)據(jù)庫(kù)+IBM小型機(jī)+EMC存儲(chǔ)設(shè)備”切換到“MySQL數(shù)據(jù)庫(kù)+PC Server的模式”。到2013年7月10日,淘寶重中之重的廣告系統(tǒng)的Oracle數(shù)據(jù)庫(kù)全部下線。
2013年5月17日,阿里集團(tuán)最后一臺(tái)IBM小機(jī)在支付寶下線時(shí)也使阿里“去IOE”運(yùn)動(dòng)越發(fā)受到關(guān)注。
在“去IOE”的進(jìn)程中,支付寶首席架構(gòu)師程立有自己的苦衷。支付寶有阿里最后一臺(tái)IBM小機(jī),這臺(tái)小機(jī)管理著支付寶用戶的所有資金。如果這臺(tái)小機(jī)出現(xiàn)故障,用戶將會(huì)無法支付,甚至連自己賬戶里有多少錢都看不到了,后果將不堪設(shè)想,因此對(duì)這臺(tái)小機(jī)的任何改動(dòng)都要確保萬無一失。去除支付寶IBM小機(jī)的第二個(gè)難點(diǎn)在于,去除小機(jī)的前提是實(shí)現(xiàn)技術(shù)架構(gòu)分布化,為支付寶IT遷移到云平臺(tái)打下基礎(chǔ)。但將技術(shù)架構(gòu)從集中變成分布后,很難保證強(qiáng)一致性,比如客戶A給客戶B轉(zhuǎn)了一筆錢,不能出現(xiàn)A的錢扣了,但B的錢沒增加的情況。如何在一個(gè)分布的系統(tǒng)中保證交易處理的一致性是一個(gè)要攻克的技術(shù)難題。
“在王堅(jiān)博士梳理整個(gè)阿里技術(shù)架構(gòu)的時(shí)候,支付寶曾經(jīng)是他‘去IOE’最大的一個(gè)‘障礙’”程立向《商業(yè)價(jià)值》記者說道。“我們必須要保證每天處理的大量資金,一分錢都不能錯(cuò),一筆都不能差。”出于謹(jǐn)慎,程立和團(tuán)隊(duì)在去掉支付寶系統(tǒng)中其它所有的IBM小型機(jī)后,還保留著這臺(tái)小機(jī)管理最重要的賬戶資金。”
時(shí)間回溯到2012的“雙十一”大促的凌晨,很多消費(fèi)者不斷點(diǎn)擊支付按鈕,卻常?吹街Ц秾毜呐抨(duì)頁(yè)面。消費(fèi)者以為支付寶系統(tǒng)崩潰了,實(shí)際上,當(dāng)時(shí)是因?yàn)橹Ц秾殐H存的這臺(tái)小機(jī)的承載能力有限,在高峰交易期,系統(tǒng)只能對(duì)來不及處理的請(qǐng)求進(jìn)行排隊(duì),這種排隊(duì)帶來的延遲產(chǎn)生了巨大的用戶體驗(yàn)障礙。
“雙十一”的痛苦經(jīng)歷,讓程立最后下定決心去掉這最后一臺(tái)小機(jī),最終,支付寶技術(shù)團(tuán)隊(duì)設(shè)計(jì)出了基于互聯(lián)網(wǎng)技術(shù)的分布式交易處理方案,通過一次完美的項(xiàng)目執(zhí)行去除了支付寶、同時(shí)也是阿里的最后一臺(tái)IBM小機(jī)。
2013年的雙十一是程立經(jīng)歷過的最輕松一次“大促”,再也不擔(dān)心有任何技術(shù)節(jié)點(diǎn)會(huì)制約業(yè)務(wù)的發(fā)展了。
一臺(tái)超級(jí)計(jì)算機(jī)
在阿里進(jìn)行“去IOE”同時(shí),另外一項(xiàng)重要的技術(shù)研發(fā)也在同時(shí)上演。2008年10月24日,飛天研發(fā)啟動(dòng)。“飛天”是什么?飛天是阿里的大規(guī)模分布式系統(tǒng),幾乎等同于整個(gè)阿里云的整個(gè)技術(shù)體系。
技術(shù)網(wǎng)站博客園對(duì)飛天——這種分布式技術(shù)有一段生動(dòng)的描述:當(dāng)你只有六七條魚的時(shí)候, 一個(gè)小型魚缸就夠了;可是過一段時(shí)間新生了30多條小魚,這個(gè)小缸顯然不夠大了。如果買一個(gè)大缸,把所有水草啊、布景、加熱棒、溫度計(jì)都從小缸里拿出來,重新布置到大缸。這個(gè)工程要花費(fèi)很多時(shí)間,尤其水草,糾結(jié)在一起很難分開。分布式系統(tǒng)可以幫你在這個(gè)小缸旁邊接了一個(gè)同樣的小缸,兩個(gè)缸聯(lián)通。魚可以自動(dòng)分散到兩個(gè)缸。幫你越過復(fù)雜的系統(tǒng)擴(kuò)建過程,省掉了很多時(shí)間和設(shè)備成本。
阿里舊的“IOE”架構(gòu),本質(zhì)上代表著基于傳統(tǒng)高端設(shè)備、大型數(shù)據(jù)庫(kù)等軟硬件的集中式架構(gòu)。陳舊集中的技術(shù)無法應(yīng)對(duì)阿里爆炸式業(yè)務(wù)增長(zhǎng),如果在IT系統(tǒng)中有一點(diǎn)出現(xiàn)問題,整個(gè)架構(gòu)都面臨危險(xiǎn)。飛天這種分布式系統(tǒng)集中大量的通用服務(wù)器在一個(gè)系統(tǒng)中,比單個(gè)的大型集中式系統(tǒng)運(yùn)行速度更快。而且,把計(jì)算能力分散到眾多機(jī)器上,單個(gè)節(jié)點(diǎn)的故障只會(huì)影響一臺(tái)機(jī)器,其它機(jī)器可以照常工作。
2013年3月,阿里技術(shù)保障部給公司高層突然發(fā)信一封:“云梯1要撞墻了!”云梯1是阿里內(nèi)部另一個(gè)基于Hadoop的分布式集群系統(tǒng)。保障部的員工發(fā)現(xiàn)按照現(xiàn)有數(shù)據(jù)增量和未來業(yè)務(wù)增長(zhǎng)的情況,阿里的存儲(chǔ)和計(jì)算能力將在3個(gè)月內(nèi)達(dá)到瓶頸,數(shù)據(jù)業(yè)務(wù)面臨停滯,必須將飛天系統(tǒng)快速擴(kuò)建起來。
飛天的快速擴(kuò)建要克服很多難題,國(guó)內(nèi)有大規(guī)模分布式系統(tǒng)經(jīng)驗(yàn)的人不多,阿里的技術(shù)團(tuán)隊(duì)里只有少數(shù)做過或用過分布式系統(tǒng),所以整個(gè)研發(fā)的過程是一個(gè)探索學(xué)習(xí)的過程,只有遇到實(shí)際的問題,團(tuán)隊(duì)才會(huì)對(duì)工程上的難題有所領(lǐng)悟。
其次,在系統(tǒng)設(shè)計(jì)的時(shí)候,工程師會(huì)設(shè)定相應(yīng)的工作場(chǎng)景、硬件環(huán)境的完備性。但在實(shí)際生產(chǎn)環(huán)境下,各種硬件環(huán)境、參數(shù)配置,往往會(huì)打破設(shè)計(jì)時(shí)的假設(shè),因此總是會(huì)碰到各種問題。在解決這些問題過程中積累的經(jīng)驗(yàn),顯然不是教科書上可以學(xué)到的理論。這個(gè)超大計(jì)算機(jī)也有自己的軟肋,她要比單個(gè)服務(wù)器的可用性和可靠性要高很多,才能保證服務(wù)“永遠(yuǎn)”不中斷,數(shù)據(jù)“永遠(yuǎn)”不丟失。
經(jīng)過4個(gè)月的不懈努力,飛天資深技術(shù)總監(jiān)唐洪和他的團(tuán)隊(duì)將5000臺(tái)飛天集群部署成功。阿里成為國(guó)內(nèi)首個(gè)單集群達(dá)到5000臺(tái)規(guī)模的公司,在此之前,全球也只有Google、Facebook等頂級(jí)公司可以按照5000臺(tái)機(jī)器來劃分集群規(guī)模。
飛天能做什么?用唐洪的話來說:“它有100PB級(jí)別的硬盤,可以存放幾百億的網(wǎng)頁(yè);可以給幾十萬的用戶,每人提供幾百G的存儲(chǔ);再或者是擁有了一臺(tái)萬核以上的超級(jí)計(jì)算機(jī),普通計(jì)算機(jī)一個(gè)月需要完成的渲染作業(yè)在這個(gè)計(jì)算機(jī)上只需要幾分鐘就可以完成。”
公司簡(jiǎn)介 | 媒體優(yōu)勢(shì) | 廣告服務(wù) | 客戶寄語(yǔ) | DOIT歷程 | 誠(chéng)聘英才 | 聯(lián)系我們 | 會(huì)員注冊(cè) | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.