雙十一912億高頻交易不癱瘓 阿里的技術(shù)讓京東怕了

今年的雙十一感覺(jué)就是在拼記錄。根據(jù)阿里巴巴集團(tuán)披露的數(shù)據(jù),截至11日24時(shí),天貓“雙十一”全天交易額達(dá)912.17億元,其中無(wú)線交易額為626.42億元,占比68.67%;而在零點(diǎn)開(kāi)始的搶購(gòu)階段里,系統(tǒng)交易創(chuàng)建峰值達(dá)到每秒鐘14萬(wàn)筆,支付峰值達(dá)到每秒鐘8.59萬(wàn)筆。

好吧。對(duì)于不斷刷新記錄這件事兒,我們已經(jīng)習(xí)慣了。但是在一天的瘋狂購(gòu)物中,阿里巴巴能夠穩(wěn)定支撐這么大的高并發(fā)交易,沒(méi)有因?yàn)橛脩舻寞偪顸c(diǎn)擊而陷入癱瘓——想想前陣子你們搶購(gòu)iphone6s造成的官網(wǎng)登陸不上就知道這種事情多么容易出現(xiàn)了——還真的是值得我們點(diǎn)三十二個(gè)贊,所以這里難免還是要分析一下,阿里云的技術(shù)到底有多牛?為什么這么牛?

.壹.

.異地多活:

橫跨1000公里的高可靠性和高可用性.

多活指的多活體,也就是說(shuō)多個(gè)服務(wù)器(通常是數(shù)據(jù)中心里的集群)同時(shí)運(yùn)行支撐業(yè)務(wù)運(yùn)行,打個(gè)比方就是多個(gè)人同時(shí)完成一個(gè)大項(xiàng)目,目的是什么呢?

一是保證高可靠性——簡(jiǎn)單說(shuō)不會(huì)說(shuō)一個(gè)數(shù)據(jù)中心掛了,整個(gè)網(wǎng)站業(yè)務(wù)就停了,或者在主備(冷)模式下,主數(shù)據(jù)中心關(guān)了,最新數(shù)據(jù)沒(méi)同步,普通的歷史數(shù)據(jù)備份也就是算了(慢慢導(dǎo)),但這種高頻、實(shí)時(shí)的交易業(yè)務(wù)信息怎么辦?

二是保證高可用性——也就是說(shuō)系統(tǒng)運(yùn)行順暢,客戶快快的訪問(wèn),少少的延時(shí),按照阿里巴巴技術(shù)保障部研究員林昊的說(shuō)法,1000公里以上的網(wǎng)絡(luò)延遲來(lái)回一次是30毫秒左右,用戶其實(shí)沒(méi)有感受,但是當(dāng)用戶打開(kāi)一個(gè)淘寶頁(yè)面的時(shí)候,一次點(diǎn)擊背后大概有100多次以上的后端交互,如果全部跨地域完成的話,就意味著頁(yè)面的響應(yīng)時(shí)間將增加3秒,不僅用戶絕對(duì)會(huì)有明顯感受,很多頁(yè)面也會(huì)因?yàn)槌瑫r(shí)出不來(lái)了。

反映到“多活”工作中,就要解決掉距離帶來(lái)的延時(shí)問(wèn)題,以及多點(diǎn)寫(xiě)入時(shí)對(duì)外數(shù)據(jù)顯示一致性的問(wèn)題。怎么做?按照阿里大牛們的解釋?zhuān)蟾攀沁@樣的思路,首先,在一個(gè)機(jī)房?jī)?nèi)完成一次頁(yè)面訪問(wèn)的整個(gè)操作,因?yàn)闆](méi)有跨域,所以基本不存在延時(shí)的問(wèn)題;其次,把業(yè)務(wù)劃成了各種各樣的單元,按照用戶維度、業(yè)務(wù)性質(zhì)等等進(jìn)行切分,單元封閉之后,讓單元內(nèi)的應(yīng)用訪問(wèn)和數(shù)據(jù)的讀寫(xiě)操作全部處于封閉狀態(tài),在一個(gè)單元里完成相應(yīng)的數(shù)據(jù)處理事務(wù),這樣解決數(shù)據(jù)對(duì)外顯示一致性的問(wèn)題。

等一下?這看起來(lái)不還是單活的處理思路嗎?嗯。所以阿里云當(dāng)然還有最關(guān)鍵的一個(gè)核心技術(shù)產(chǎn)品,數(shù)據(jù)遷移服務(wù)DTS,實(shí)現(xiàn)異地?cái)?shù)據(jù)中心的數(shù)據(jù)同步,解決掉多活體之間的數(shù)據(jù)一致問(wèn)題。據(jù)說(shuō)在2015年“雙十一”中,所有數(shù)據(jù)同步控制在1秒以內(nèi)!

所以,阿里云牛的地方,不僅在于實(shí)現(xiàn)了多活(不僅是2個(gè)哦),還在于異地多活,以及橫跨1000公里的異地多活(這意味著在全國(guó)任意一個(gè)城市來(lái)部署同步協(xié)調(diào)支持?jǐn)?shù)據(jù)中心了)。

.貳.

.分布式關(guān)系數(shù)據(jù)庫(kù):

支付寶的秘密武器.

今年雙十一,支付寶整個(gè)核心鏈路是運(yùn)行在OceanBase上面的,數(shù)字呢,一個(gè)是上面提到的14萬(wàn)每秒的訂單創(chuàng)建,8.59萬(wàn)筆每秒的支付,還有就是一天10TB左右的數(shù)據(jù)庫(kù)寫(xiě)入量。

數(shù)字是不是看起來(lái)仍然已經(jīng)無(wú)感?我們來(lái)說(shuō)OceanBase,這個(gè)由阿里巴巴自主研發(fā)的中國(guó)首個(gè)具有自主知識(shí)產(chǎn)權(quán)的數(shù)據(jù)庫(kù),也是全球首個(gè)應(yīng)用在金融業(yè)務(wù)的分布式關(guān)系數(shù)據(jù)庫(kù)。

傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù),比如Oracle或者M(jìn)ySQL功能已經(jīng)很完善,但數(shù)據(jù)庫(kù)本身不可擴(kuò)展,隨著數(shù)據(jù)量的增大和業(yè)務(wù)內(nèi)容的豐富,需要拆庫(kù)拆表,然后再進(jìn)行訪問(wèn)路由,將相應(yīng)的SQL解析路由到指定的數(shù)據(jù)庫(kù)中,比如阿里就曾經(jīng)研發(fā)出TDDL這個(gè)通用數(shù)據(jù)訪問(wèn)層,但隨著數(shù)據(jù)量的一直增長(zhǎng),這種拆庫(kù)拆表的做法對(duì)性能有著明顯的影響。

而OceanBase相當(dāng)于加持了擴(kuò)展(Scalability)屬性的關(guān)系型數(shù)據(jù)庫(kù)。

傳說(shuō)中的OceanBase的架構(gòu)

OceanBase的做法是保持相對(duì)穩(wěn)定的主體數(shù)據(jù)(基準(zhǔn)數(shù)據(jù))不變,將把一段時(shí)間內(nèi)的增刪改等修改操作以增量形式記錄下來(lái),放在內(nèi)存中處理。基準(zhǔn)數(shù)據(jù)按照主鍵分段后保存在到多臺(tái)機(jī)器(ChunkServer) 并且由于按主鍵分塊連續(xù)存放,因此OceanBase按主鍵的范圍查詢對(duì)應(yīng)著連續(xù)的磁盤(pán)讀,十分高效;而由于增刪改等動(dòng)態(tài)數(shù)據(jù)相對(duì)較小,通常情況下,OceanBase把它保存在獨(dú)立的服務(wù)器UpdateServer的內(nèi)存中,這樣極大地提高了系統(tǒng)寫(xiě)事務(wù)的性能,在修改凍結(jié)后,保存到SSD固態(tài)硬盤(pán)上釋放內(nèi)存空間。

其他組件中,MergeServer結(jié)合ChunkServer和UpdateServer,獲得最新數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)一致性;而RootServer進(jìn)行機(jī)器故障檢測(cè)、負(fù)載平衡計(jì)算、負(fù)載遷移調(diào)度等工作。

問(wèn)題來(lái)了,內(nèi)存掉電,數(shù)據(jù)丟失咋辦?

OceanBase有著可靠的數(shù)據(jù)庫(kù)操作日志記錄,如果出現(xiàn)掉電或故障,可以通過(guò)日志回訪出來(lái)。這樣,在內(nèi)存里進(jìn)行相應(yīng)的數(shù)據(jù)查詢、修改,然后定期把大量的數(shù)據(jù)跟增量的修改做合并,不停滾動(dòng)的話數(shù)據(jù)庫(kù)就一直更新,保證在內(nèi)存里的數(shù)據(jù)永遠(yuǎn)是少量的,做到很高的性能。

OceanBase 2010年誕生,2014年支撐了10%的雙11交易流量。今年6月,網(wǎng)商銀行開(kāi)業(yè),底層數(shù)據(jù)庫(kù)全部采用OceanBase,是第一家完全擺脫商業(yè)數(shù)據(jù)庫(kù)的金融機(jī)構(gòu)。

與傳統(tǒng)數(shù)據(jù)庫(kù)相比,OceanBase的系統(tǒng)維護(hù),不需要昂貴的共享存儲(chǔ)設(shè)備和高性能服務(wù)器,還能節(jié)省數(shù)據(jù)庫(kù)軟件的許可費(fèi),和常用的商業(yè)數(shù)據(jù)庫(kù)相比,成本不到其一半。同時(shí),分布式的系統(tǒng),可以更好地應(yīng)對(duì)雙11這類(lèi)大流量沖擊:彈性能力可保證大促之前完成一鍵擴(kuò)容、大促之后實(shí)現(xiàn)一鍵縮容。

據(jù)說(shuō),OceanBase也計(jì)劃于明年通過(guò)阿里云的公共云計(jì)算平臺(tái)對(duì)外界開(kāi)放。

.叁.

.混合云架構(gòu)實(shí)踐:

10000個(gè)阿里的河源.

回到我們開(kāi)篇那句看起來(lái)似乎有些問(wèn)題的話,為什么好好說(shuō)著阿里巴巴的銷(xiāo)售記錄,特意轉(zhuǎn)到阿里云的技術(shù)呢?是因?yàn)?,根?jù)介紹,今年雙十一淘寶天貓核心交易鏈條和支付寶核心支付鏈條的部分流量,直接切換到阿里云的公共云計(jì)算平臺(tái)上。通過(guò)將公共云和專(zhuān)有云無(wú)縫連接的模式——也就是大家熟知的混合云模式,全面支撐雙十一。

按照阿里云總裁胡曉明的說(shuō)法,阿里巴巴希望在自身最重要商業(yè)實(shí)踐中,驗(yàn)證云計(jì)算的安全性、可靠性,向世界證明云計(jì)算的優(yōu)勢(shì)。也正是基于這種混合云模式,阿里巴巴能夠充分利用云計(jì)算的彈性優(yōu)勢(shì),隨時(shí)調(diào)度資源。而在雙十一之后,又能快速歸還資源,避免高峰期過(guò)后的閑置浪費(fèi)。

從以往的經(jīng)驗(yàn)來(lái)看,無(wú)論是在余額寶、花唄的誕生,還是OceanBase的誕生等等,都是阿里巴巴被現(xiàn)實(shí)需求及不給力的合作環(huán)境倒逼出來(lái)的業(yè)務(wù)創(chuàng)新。如果不去做業(yè)務(wù)創(chuàng)新,新的業(yè)務(wù)需求無(wú)法滿足,或者無(wú)法以符合成本效率的條件滿足,所以阿里巴巴、阿里云開(kāi)發(fā)出一個(gè)個(gè)具有核心競(jìng)爭(zhēng)力的突破性的技術(shù)。

從目前的情況來(lái)看,阿里云正在把這些技術(shù)一個(gè)個(gè)開(kāi)放出來(lái),供更多的企業(yè)使用,如胡曉明強(qiáng)調(diào)的,“這一混合云架構(gòu)完全基于阿里云官網(wǎng)在售的標(biāo)準(zhǔn)化產(chǎn)品搭建的。也就是說(shuō),你通過(guò)這些標(biāo)準(zhǔn)化的產(chǎn)品,也可以搭建一個(gè)像淘寶、天貓這樣的萬(wàn)億級(jí)企業(yè)應(yīng)用,滿足任何極端的業(yè)務(wù)挑戰(zhàn)?!?/p>

為了更好的支持企業(yè)使用阿里云的各種技術(shù),阿里云還推出了“一鍵建站技術(shù)”,在基礎(chǔ)設(shè)施具備的條件下,通過(guò)阿里自研的自動(dòng)化軟件,將中間件、數(shù)據(jù)庫(kù)、商品交易系統(tǒng)、商品展示系統(tǒng)等上百個(gè)電商核心系統(tǒng),像搭積木一樣部署完成。整個(gè)過(guò)程一鍵完成,基本無(wú)需人工干預(yù),所需時(shí)間不到90分鐘——即使像今年的淘寶、天貓交易單元,也是在90分鐘之內(nèi)自動(dòng)化完成的。

所以,如果企業(yè)能夠采用混合云的模式,將核心系統(tǒng)運(yùn)行在云里,使用阿里云開(kāi)發(fā)出來(lái)的各種能力,快速發(fā)展成另一個(gè)阿里巴巴,也不能說(shuō)是一種奢望。從這個(gè)角度看,這次的雙十一混合云架構(gòu)實(shí)踐,是未來(lái)中國(guó)更多巨型企業(yè)成型的河源,也是大大有可能的。

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

2015-11-23
雙十一912億高頻交易不癱瘓 阿里的技術(shù)讓京東怕了
今年的雙十一感覺(jué)就是在拼記錄。根據(jù)阿里巴巴集團(tuán)披露的數(shù)據(jù),截至11日24時(shí),天貓“雙十一”全天交易額達(dá)912 17億元,其中無(wú)線交易額為626

長(zhǎng)按掃碼 閱讀全文