天貓?zhí)詫毜碾p11活動(dòng)已經(jīng)過(guò)去了十多天,今年的雙11有232個(gè)國(guó)家參與進(jìn)來(lái)成為名副其實(shí)的全球瘋狂購(gòu)物節(jié)。相信所有的數(shù)字大家都已經(jīng)很清楚了,11日全天的交易額達(dá)到912.17億元,其中在移動(dòng)端交易額占比68%今年每秒的交易峰值達(dá)到14萬(wàn)筆,螞蟻金服旗下的支付寶交易峰值達(dá)到8.59萬(wàn)筆/秒,這一系列的數(shù)字,考驗(yàn)的是阿里巴巴背后強(qiáng)大的IT支持能力。最近,阿里雙11的總導(dǎo)演何導(dǎo)(何云飛)率主要研發(fā)工作人員,接受了CSDN記者的采訪,解讀了今年雙11背后都采用了哪些關(guān)鍵技術(shù)。
何導(dǎo)主要從今年雙11的架構(gòu)解讀了今年的混和云模式
他介紹說(shuō),雙11已經(jīng)做了7年,首先要考慮的是如何應(yīng)對(duì)這個(gè)交易峰值。從成本的角度考慮,采購(gòu)非常多的IT資源放在那里為了那最多半小時(shí)肯定是不經(jīng)濟(jì)的,所以就需要利用云的模式,利用公有云,快速把資源調(diào)度過(guò)來(lái),迅速投入應(yīng)對(duì)用戶的海量訪問(wèn)。等峰值過(guò)后,再快速把資源釋放。這是云的好處,所以最后選擇了公有云+混合云的組合模式,來(lái)支撐今年雙十一的峰值。
也許有很多小伙伴會(huì)覺(jué)得,阿里不是有公有云么,直接把阿里巴巴的系統(tǒng)裝到公有云上這個(gè)架構(gòu)不就解決了嗎?事情沒(méi)有這么簡(jiǎn)單。阿里巴巴經(jīng)過(guò)了15年的系統(tǒng)建設(shè),系統(tǒng)非常非常復(fù)雜,里面不知有多少個(gè)系統(tǒng)在流轉(zhuǎn),一個(gè)訂單要流過(guò)多少系統(tǒng)、數(shù)據(jù)庫(kù)交互,這個(gè)復(fù)雜程度一般人是想象不到的。所以就算是用公有云支撐系統(tǒng),最快的方式也是用混合云聯(lián)系起來(lái)。所以阿里把核心交易系統(tǒng)、支付系統(tǒng)干干凈凈地放到公有云上,還有一些復(fù)雜的業(yè)務(wù)系統(tǒng)在里面互相調(diào)用。
何導(dǎo)認(rèn)為,除了用混合云來(lái)應(yīng)對(duì)雙11這種極端的峰值情況外,常規(guī)的企業(yè)也可以運(yùn)用混合云,因?yàn)樗且粋€(gè)快速、安全、彈性、低成本的利用公有云的方式。每個(gè)企業(yè)的系統(tǒng)全面上云的話,大家需要考慮一下。因?yàn)檫@個(gè)企業(yè)里面系統(tǒng)訂單、商品、交易、財(cái)務(wù)、支付,這些系統(tǒng)要能全部搬上去是非常復(fù)雜。當(dāng)然了有些系統(tǒng)非常簡(jiǎn)單,比如說(shuō)網(wǎng)站沒(méi)有交易的是速度很快,一個(gè)服務(wù)器、一個(gè)數(shù)據(jù)庫(kù)就搞定了。
如果客戶想用公有云,何導(dǎo)認(rèn)為這里存在一個(gè)兼容性的問(wèn)題。用戶想要用公有云去支撐業(yè)務(wù),那么內(nèi)部的系統(tǒng)跟公有云的系統(tǒng)一定是兼容的,整個(gè)基礎(chǔ)設(shè)施應(yīng)該是平滑過(guò)渡。阿里所有云上的產(chǎn)品是能讓電商核心系統(tǒng)運(yùn)行起來(lái),包括從操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)需要完全兼容。這些產(chǎn)品在aliyun.COM上可以看到云服務(wù)器、負(fù)載均衡、RDS云數(shù)據(jù)庫(kù),這是企業(yè)里面最常用的三大件。在不久的將來(lái),用戶還會(huì)看到阿里自研的大數(shù)據(jù)產(chǎn)品ODPS,還有OceanBase數(shù)據(jù)庫(kù)產(chǎn)品,未來(lái)都會(huì)在云上開(kāi)放。
經(jīng)過(guò)此次雙11的展現(xiàn),阿里混合云的好處,同時(shí)也是云計(jì)算的本質(zhì),那就是對(duì)于用戶來(lái)說(shuō)是隨時(shí)可得,盡可能去突破距離、地域、規(guī)則的限制,來(lái)爭(zhēng)取人們最珍貴的東西——時(shí)間和資源。云計(jì)算技術(shù)就是在不斷優(yōu)化資源調(diào)度,不斷讓用戶的時(shí)間節(jié)省下來(lái)。云平臺(tái)的本質(zhì)是調(diào)度系統(tǒng)連接網(wǎng)絡(luò)去做好,讓這樣的技術(shù)是可以流轉(zhuǎn)起來(lái)的。
顏然分享了OceanBase數(shù)據(jù)庫(kù)的使用情況
第二個(gè)分享技術(shù)經(jīng)驗(yàn)的就是OceanBase數(shù)據(jù)庫(kù)的研發(fā)人員,螞蟻金服的高級(jí)技術(shù)專家韓富晟(顏然)。他首先簡(jiǎn)單介紹OceanBase到底是什么。
OceanBase到底是什么?
1、完全自主研發(fā)的關(guān)系數(shù)據(jù)庫(kù)。它是一個(gè)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。然后是在阿里內(nèi)部從第一行代碼開(kāi)始自己寫的,完全自己研發(fā)的一個(gè)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。
2、金融級(jí)別的可靠性。因?yàn)閿?shù)據(jù)庫(kù)支撐的是支付寶、余額寶里的真實(shí)交易,是不能出錯(cuò)的,所以對(duì)于可靠性的要求是非常高的。
3、有更低的成本。因?yàn)槲覀儾捎玫募夹g(shù)能把硬件本身的效率發(fā)揮得更好,所以我們可以獲得更低的成本。
螞蟻金服的高級(jí)技術(shù)專家韓富晟(顏然)介紹OceanBase
我們現(xiàn)在之所以還能去做一個(gè)OceanBase,更重要的一點(diǎn)是現(xiàn)有常見(jiàn)的一些幾大廠商的數(shù)據(jù)庫(kù),誕生的時(shí)間大概是在40年前左右。那個(gè)時(shí)候大家面臨的硬件環(huán)境是單純的主機(jī),然后在主機(jī)上編寫相應(yīng)的軟件來(lái)做數(shù)據(jù)的存儲(chǔ)?,F(xiàn)在如今云計(jì)算的發(fā)展使得我們開(kāi)發(fā)軟件的時(shí)候面臨的不是單臺(tái)機(jī)器,而是集群的環(huán)境,面對(duì)著很多臺(tái)機(jī)器,大家共同去滿足業(yè)務(wù)的需求。面臨的硬件背景不一樣了,所以才有更新的架構(gòu)來(lái)實(shí)現(xiàn)很高的可靠性、更高的性能、更低的成本。
OceanBase是2010年5月份開(kāi)始立項(xiàng)的,到今天為止有五年多的時(shí)間,從去年“雙十一”開(kāi)始使用了,有10%的交易流量是留在OceanBase數(shù)據(jù)庫(kù)系統(tǒng)上,到今年百分之百已經(jīng)全部切過(guò)來(lái)了。
今年的“雙十一”百分之百流量遷過(guò)來(lái)之后,其實(shí)表明獲得了所有人的認(rèn)可,大家愿意把關(guān)于錢、關(guān)于金融相關(guān)的事情放在了OceanBase數(shù)據(jù)庫(kù)上,這就是今天能站在這里去跟大家介紹系統(tǒng)的原因。
今年的“雙十一”,支付寶整個(gè)核心鏈路是運(yùn)行在OceanBase上面。這兩個(gè)數(shù)字大家在外面都見(jiàn)過(guò),一個(gè)是14萬(wàn)每秒的訂單創(chuàng)建,還有8.59萬(wàn)筆每秒支付。創(chuàng)建是當(dāng)用戶在天貓、淘寶頁(yè)面上點(diǎn)機(jī)立即購(gòu)買或在購(gòu)物車結(jié)算的時(shí)候會(huì)創(chuàng)建訂單,訂單會(huì)有相當(dāng)復(fù)雜的流程把數(shù)據(jù)顯示在數(shù)據(jù)庫(kù)里面,,然后跳到支付寶頁(yè)面去付錢。因?yàn)榇蠹叶荚?點(diǎn)準(zhǔn)備搶東西,所以那個(gè)時(shí)候峰值最高的。支付往后稍微錯(cuò)一點(diǎn),有一點(diǎn)錯(cuò)的效應(yīng),所以是8.59萬(wàn)筆,比14萬(wàn)低一點(diǎn),全部會(huì)落在OceanBase里面。以交易系統(tǒng)為例,在“雙十一”一天寫進(jìn)數(shù)據(jù)庫(kù)的數(shù)據(jù)量有10TB。
這么多年來(lái),已經(jīng)陸陸續(xù)續(xù)有特別多的系統(tǒng)開(kāi)始用OceanBase系統(tǒng)。像國(guó)際交易是阿里供應(yīng)商系統(tǒng)也在用了。收藏夾是大家在收藏商品的時(shí)候,淘足跡是有一個(gè)頁(yè)面看你所有瀏覽的產(chǎn)品,這些交易已經(jīng)慢慢開(kāi)始使用OceanBase了。今年“雙十一”除了核心鏈路關(guān)注比較高的之外,這些業(yè)務(wù)也是使用OceanBase作為后臺(tái)的數(shù)據(jù)庫(kù)了。
畢玄:異地多活技術(shù) 三年心血終于成功
另外一個(gè)阿里自己的技術(shù)就是異地多活技術(shù),阿里巴巴技術(shù)保障部研究員林昊(畢玄)經(jīng)歷了三年的研發(fā),今年終于把這個(gè)技術(shù)完全應(yīng)用到雙11中,而這次,也是把整個(gè)異地多活技術(shù)研發(fā)經(jīng)歷講得清清楚楚。
林昊說(shuō):“對(duì)于阿里的交易以及支付來(lái)講,做異地多活最重要的目的除了災(zāi)備之外,更重要的點(diǎn)是追求持續(xù)可用,整個(gè)支付交易的體量對(duì)于用戶來(lái)講是持續(xù)可用。”
阿里之所以做異地多活主要是覺(jué)得兩地三中心并不是最好的模式,它存在弊端。
兩地三中心對(duì)于阿里來(lái)講是有問(wèn)題的,最重要的問(wèn)題是:
1、這個(gè)模式不一定Work。比如說(shuō)某些地方用了兩地三中心之后,當(dāng)一地的數(shù)據(jù)中心出問(wèn)題的時(shí)候,是不敢流量切往異地的備份數(shù)據(jù)中心,原因是異地的備份數(shù)據(jù)中心是冷的,平時(shí)是沒(méi)有用戶流量進(jìn)去的。如果要把流量切到那邊起來(lái)之后,其實(shí)沒(méi)有人有多強(qiáng)的信心能夠保障起用以后是可以正常服務(wù)的,畢竟平時(shí)都是冷的。因?yàn)槭抢涞模鸵馕吨麄€(gè)起用的過(guò)程需要時(shí)間,不可能說(shuō)起用就起用,一定會(huì)有時(shí)間周期。這是兩地三中心的最大問(wèn)題,看起來(lái)模式是很安全的,也是可用的,但是事實(shí)上不一定是這樣。
2、異地備份中心因?yàn)椴粚?duì)外提供服務(wù),所以整個(gè)資源會(huì)處于浪費(fèi)狀態(tài),成本比較高企。
3、對(duì)于阿里的規(guī)模來(lái)講有一個(gè)很大的問(wèn)題,在兩地三中心中,數(shù)據(jù)一定是單點(diǎn)去寫。其實(shí)數(shù)據(jù)只在一個(gè)地方去寫,這個(gè)時(shí)候如果整個(gè)壓力比較高,比如像“雙十一”的場(chǎng)景中壓力非常高的情況下,就意味著在兩地三中心的情況下所有的數(shù)據(jù)還是寫上的單個(gè)點(diǎn),對(duì)于存儲(chǔ)成本壓力會(huì)不斷增加。比如去年8萬(wàn)、今年14萬(wàn)意味著每年壓力都在增加,這時(shí)候數(shù)據(jù)庫(kù)整個(gè)伸縮和外層業(yè)務(wù)的伸縮都面臨著更大挑戰(zhàn)。
對(duì)于我們來(lái)講這三個(gè)問(wèn)題是比較明顯的。
阿里在整個(gè)高可用上也經(jīng)歷過(guò)了一段時(shí)間,主要是做了三個(gè)步驟。第一個(gè)是做了同城的雙活,第二個(gè)做了異地只讀及冷備,第三個(gè)是做了異地多活,經(jīng)歷了三代體系的演進(jìn)才走到了今天。
阿里決定開(kāi)始做異地多活,要的目標(biāo)是:
1、需要多個(gè)跨地域的數(shù)據(jù)中心。異地多活是跨地域的,而且距離一定要做到1000公里以上的范圍,其實(shí)在中國(guó)范圍內(nèi)全國(guó)城市都可以去布了。
2、每個(gè)數(shù)據(jù)中心都要承擔(dān)用戶的讀寫流量。如果只是備或只讀業(yè)務(wù)來(lái)講,作用不是很大。
3、多點(diǎn)寫。因?yàn)槊總€(gè)數(shù)據(jù)中心去承擔(dān)用戶讀寫流量的話,如果讀或?qū)懠械饺珖?guó)一個(gè)點(diǎn)的話,整個(gè)延遲是沒(méi)有辦法承受的。
4、任意一個(gè)數(shù)據(jù)中心出問(wèn)題的時(shí)候,其他中心都可以分鐘級(jí)去接管用戶的流量。
這個(gè)是阿里在做異地多活項(xiàng)目的時(shí)候,希望在這四點(diǎn)上都能夠做到,然后也只有這樣的情況下才認(rèn)為是一個(gè)異地多活的業(yè)務(wù)。
異地多活對(duì)于我們來(lái)講,其實(shí)很多人都可以看到異地多活最大的挑戰(zhàn)是什么?
1、距離。看起來(lái)距離沒(méi)有什么,比如說(shuō)1000公里以上也就是30毫秒的網(wǎng)絡(luò)延遲,來(lái)回一次是30毫秒左右。30毫秒對(duì)于用戶來(lái)講,如果只是給你增加30毫秒,用戶其實(shí)沒(méi)有感受。但是當(dāng)你打開(kāi)一個(gè)淘寶頁(yè)面的時(shí)候,事實(shí)上當(dāng)你在商品頁(yè)面看到一個(gè)商品點(diǎn)立刻購(gòu)買的時(shí)候,頁(yè)面的背后大概有100多次以上的后端交互,如果100多次全部跨地域完成的話,就意味著頁(yè)面的響應(yīng)時(shí)間將增加3秒。如果增加3秒,用戶絕對(duì)會(huì)有明顯感受。因?yàn)閷?duì)于阿里來(lái)講,很多頁(yè)面就出不來(lái)了,3秒已經(jīng)超時(shí)了。對(duì)于我們來(lái)講,這第一點(diǎn)是直接帶來(lái)用戶體驗(yàn)的不可用。
成本,當(dāng)系統(tǒng)響應(yīng)時(shí)間增高的時(shí)候,意味著每年“雙十一”增加的QPS將付出更大的成本,因?yàn)橥掏铝吭谙陆?,這個(gè)時(shí)候的成本也是很難接受的。距離帶來(lái)的延時(shí)問(wèn)題是最大的問(wèn)題。
2、既然要解決掉距離的問(wèn)題,多點(diǎn)寫是解決距離的問(wèn)題,如果沒(méi)有延時(shí)問(wèn)題可以不多點(diǎn)寫。只要開(kāi)始多點(diǎn)寫了就會(huì)帶來(lái)第二個(gè)最復(fù)雜的問(wèn)題,其實(shí)我們認(rèn)為第一點(diǎn)延時(shí)問(wèn)題一定程度也許可以強(qiáng)制接受,也就是能夠打開(kāi),打不開(kāi)就有問(wèn)題了。如果一旦出現(xiàn)多點(diǎn)寫帶來(lái)的數(shù)據(jù)正確性問(wèn)題,這對(duì)我們來(lái)講是最致命的。多點(diǎn)寫,比如說(shuō)出現(xiàn)這一次訪問(wèn)在A數(shù)據(jù)中心寫的數(shù)據(jù),然后再訪問(wèn)的時(shí)候到B數(shù)據(jù)中心又寫了一條數(shù)據(jù),兩條數(shù)據(jù)如果合不到一起的話。對(duì)于大家最直觀的感受是有可能買了一個(gè)東西付了錢,然后看到可能是沒(méi)付錢。或者干脆買了一個(gè)東西,壓根就沒(méi)有看到購(gòu)買。對(duì)于阿里來(lái)講,這是最大的一個(gè)問(wèn)題。
對(duì)于我們來(lái)講,在多點(diǎn)寫的情況下最大的挑戰(zhàn)是怎么保證用戶寫入的數(shù)據(jù)一定是在正確的地方,另外看到的一定是一致的,這是整個(gè)異地多活中最大的挑戰(zhàn)。
針對(duì)這兩個(gè)個(gè)問(wèn)題,對(duì)于延時(shí)的問(wèn)題來(lái)講,其實(shí)延長(zhǎng)時(shí)的問(wèn)題意味著最好的解決方案是什么呢?如果這一次訪問(wèn)頁(yè)面的整個(gè)操作全部在當(dāng)前機(jī)房?jī)?nèi)完成的,自然就不存在延時(shí)問(wèn)題,因?yàn)闆](méi)有跨出去。
針對(duì)第二個(gè)問(wèn)題,異地。在全國(guó)部署的時(shí)候,意味著是不是要把整個(gè)業(yè)務(wù)全部全國(guó)部署,因?yàn)檫@有成本因素。大家知道阿里的業(yè)務(wù)非常龐雜,其實(shí)沒(méi)有必要把所有的業(yè)務(wù)都在全國(guó)部署,因?yàn)椴皇撬械臉I(yè)務(wù)都有足夠的量。
因?yàn)椴皇钦麄€(gè)業(yè)務(wù)全國(guó)部署,所以決定起另外一個(gè)名字叫單元化。意味著我是把業(yè)務(wù)劃成了各種各樣的單元,比如有交易的單元,這個(gè)單元是完成交易業(yè)務(wù),所以在內(nèi)部代號(hào)是單元化項(xiàng)目。
為了解決延時(shí)問(wèn)題,能在一個(gè)機(jī)房?jī)?nèi)完成就不存在延時(shí)問(wèn)題。另外一個(gè)核心思想是單元封閉,需要讓單元內(nèi)的應(yīng)用訪問(wèn)和數(shù)據(jù)的讀寫操作全部處于封閉狀態(tài),這就是最完美的狀況。如果能做到這樣,其實(shí)在全國(guó)任意城市部署都不會(huì)有問(wèn)題。
開(kāi)始多點(diǎn)寫以后,怎么去保障整個(gè)數(shù)據(jù)寫入的正確性以及一致性。阿里確實(shí)做了非常多的東西,因?yàn)橐粋€(gè)用戶訪問(wèn)阿里的時(shí)候,其實(shí)阿里的背后是龐大的分布式系統(tǒng),你訪問(wèn)了一層可能只訪問(wèn)了一個(gè)系統(tǒng),事實(shí)上背后牽涉進(jìn)來(lái)幾十個(gè)系統(tǒng)。咱們把整你在訪問(wèn)每一層的時(shí)候路由都是正確的,比如這個(gè)用戶訪問(wèn)數(shù)據(jù)中心A,但是由于某個(gè)原因訪問(wèn)到數(shù)據(jù)中心B,怎么在保證后面訪問(wèn)不同系統(tǒng)的時(shí)候準(zhǔn)確跳轉(zhuǎn)到正確的地方去,因?yàn)槊總€(gè)數(shù)據(jù)中心的數(shù)據(jù)不太一樣。
為了保證一個(gè)用戶真正寫數(shù)據(jù)的時(shí)候不要寫錯(cuò),寫入數(shù)據(jù)庫(kù)之前都會(huì)做保護(hù)動(dòng)作,確保用戶寫的數(shù)據(jù)沒(méi)有寫錯(cuò)一個(gè)地方。如果寫錯(cuò)一個(gè)地方,可能就無(wú)法恢復(fù)了,所以在那個(gè)地方有最后的一層保護(hù)。同時(shí)有實(shí)時(shí)數(shù)據(jù)校驗(yàn)系統(tǒng)檢查是否符合我們的期望。
對(duì)于異地多活來(lái)講,還有數(shù)據(jù)一致性中很大的挑戰(zhàn)會(huì)出現(xiàn)在流量切換的動(dòng)作中,比如說(shuō)AB兩個(gè)數(shù)據(jù)中心,A開(kāi)始是承擔(dān)20%的流量,8承擔(dān)80%的流量。當(dāng)把流量從一個(gè)地方切到另外一個(gè)地方的時(shí)間,有可能出現(xiàn)切換過(guò)程中你還在A數(shù)據(jù)中心寫,但其實(shí)寫完之后到B了,有可能看到出現(xiàn)的數(shù)據(jù)是不一致的。怎么保證在整個(gè)流量切換過(guò)程中數(shù)據(jù)是絕對(duì)一致的,我們也做了很多的東西。
在異地整個(gè)數(shù)據(jù)中心還有另外一個(gè)非常重要的核心技術(shù)產(chǎn)品,就是我們需要一個(gè)數(shù)據(jù)同步的東西。因?yàn)榇蠹抑腊⒗铿F(xiàn)在除了OB以外,很重要的一塊是MySQL,MySQL自己的主備是沒(méi)有辦法滿足要求,在異地做到延時(shí)是沒(méi)有辦法滿足的,我們決定做了自研的數(shù)據(jù)同步產(chǎn)品。在2015年“雙十一”中,所有數(shù)據(jù)同步控制在1秒以內(nèi),1秒以內(nèi)是可以接受的。
阿里為了做到整個(gè)異地多活,其實(shí)自己也折騰了很多年。這個(gè)項(xiàng)目在阿里內(nèi)部總共花了三年的時(shí)間,自己在最近的一封總結(jié)郵件中也寫到,經(jīng)歷了三年的磨煉,我們終于把異地多活變成了阿里電商架構(gòu)級(jí)的能力,意味著在整個(gè)架構(gòu)中具備異地多活的能力,在以前也許不一定具備。
我們?yōu)榱苏麄€(gè)過(guò)程中是比較平滑的,因?yàn)椴荒軐?duì)業(yè)務(wù)產(chǎn)生太大影響,所以分了三年的時(shí)間去完成。在2013年首先采用的是在同城起用了兩個(gè)單元雙活,真正意義的雙活,因?yàn)槟莾蓚€(gè)單元都是寫自己的數(shù)據(jù)庫(kù)的,兩個(gè)單元都是雙寫。
在2014年覺(jué)得可以往前更進(jìn)一步,選擇了距離更近的城市,其實(shí)還是有延時(shí)。如果沒(méi)有做過(guò)單元化改造業(yè)務(wù)部署到異地的時(shí)候,頁(yè)面會(huì)超時(shí),有些頁(yè)面打不開(kāi)。但是因?yàn)閱卧诒澈缶蜎](méi)有太大問(wèn)題,在2014年成功在兩個(gè)相距有一定距離的城市起用了異地雙活,在去年“雙十一”中兩個(gè)城市分別承擔(dān)了50%的用戶流量,有些用戶會(huì)訪問(wèn)一個(gè)城市,有些用戶訪問(wèn)另外一個(gè)城市,當(dāng)下單的時(shí)候會(huì)下在同一個(gè)城市里面。
在今年單元化可以宣告能力基本成熟的階段,所以在今年開(kāi)始起用了距離在1000公里以上的另外一個(gè)數(shù)據(jù)中心,然后今年數(shù)據(jù)中心是多點(diǎn)部署。從2015年從2個(gè)變成3個(gè)或4個(gè)以后,對(duì)于我們來(lái)講的另外一點(diǎn)是因?yàn)榫嚯x增加到了1000公里以上,基本上意味著阿里整個(gè)電商以及支付是可以在全國(guó)任意一個(gè)城市去部署,并且可以部署多個(gè),意味著以后的“雙十一”整個(gè)擴(kuò)充能力是會(huì)變得很容易。
對(duì)于我們來(lái)講,當(dāng)阿里整個(gè)架構(gòu)能力進(jìn)一步提升到了異地多活時(shí)代以后,對(duì)于我們來(lái)講帶來(lái)了兩個(gè)好處:
第一、有極強(qiáng)的水平伸縮能力。以前做“雙十一”的時(shí)候,都必須去算,比如去年8萬(wàn)筆,今年14萬(wàn)筆的時(shí)候,必須要算增加的6萬(wàn)。還有因?yàn)槊磕陿I(yè)務(wù)模式的變化需要算每個(gè)應(yīng)用加多少機(jī)器。但是在單元的情況下,一組單元就是多大的能力,然后只要按照單元擴(kuò)充就結(jié)束了。假設(shè)一個(gè)單元可以做到2萬(wàn)筆,其實(shí)14萬(wàn)筆對(duì)于我們來(lái)講是建設(shè)7個(gè)單元就結(jié)束了,整個(gè)伸縮能力會(huì)比以前強(qiáng)大非常多。而且每個(gè)單元都是寫自己的數(shù)據(jù)庫(kù)和存儲(chǔ)層,包括cache全部寫自己的,這個(gè)時(shí)候伸縮規(guī)模是可控的,不像以前不斷加,數(shù)據(jù)庫(kù)有可能抗不住。在抗不住的時(shí)候可能會(huì)做分布等等,但其實(shí)也是比較復(fù)雜的,現(xiàn)在我們改變了伸縮力度的模式。
第二、異地多活怎么去應(yīng)對(duì)故障。比如在阿里內(nèi)部會(huì)按照這樣的等級(jí)去劃分所有業(yè)務(wù)能夠支持故障應(yīng)對(duì)能力,比如說(shuō)單實(shí)例出故障在多久能恢復(fù),或者單機(jī)房或單城市或全局的服務(wù),比如DNS等等,我們會(huì)按照這個(gè)對(duì)每個(gè)業(yè)務(wù),然后就知道每個(gè)業(yè)務(wù)當(dāng)出現(xiàn)故障時(shí)整個(gè)應(yīng)對(duì)能力是怎樣的。
在阿里做完以后,希望整個(gè)異地多活的能力能逐漸演變成業(yè)界的,比如說(shuō)在阿里做了整個(gè)多活以后,其實(shí)金融行業(yè)也不再希望自己只是一個(gè)兩地三中心而已,希望更加往前前進(jìn)一步,對(duì)于他們來(lái)講整個(gè)投入會(huì)更加劃算。另外容災(zāi)能力會(huì)更強(qiáng)。阿里把自己異地多活的能力沉淀成不同的東西,比如支付寶、螞蟻金服把自己的能力承擔(dān)到金融云里,就意味著在金融云上搭建的金融系統(tǒng)會(huì)自然具備異地多活的能力。
編輯總結(jié)
通過(guò)上面幾位技術(shù)大拿的講解,我們會(huì)發(fā)現(xiàn),由于中國(guó)網(wǎng)民數(shù)量是世界之最,中國(guó)互聯(lián)網(wǎng)公司所面對(duì)的技術(shù)問(wèn)題是其他國(guó)家很難想象的,所以我們的技術(shù)也都需要自己去研發(fā)。以阿里為主的互聯(lián)網(wǎng)人,通過(guò)雙11這種殘酷的考驗(yàn)來(lái)鍛煉自己的技術(shù)和產(chǎn)品,從而用這種產(chǎn)品為更多的用戶服務(wù)。
歡迎掃描中云網(wǎng) 官方微信公眾號(hào)