你抢的不是春节红包而是云
作者 | 馬超
編輯?| 胡巍巍
來(lái)源?| CSDN(ID:CSDNnews)
近年來(lái),紅包大戰(zhàn)堪稱(chēng)是新春佳節(jié)中最精彩的開(kāi)年大戲。
2015年騰訊以超過(guò)5000萬(wàn)元的天價(jià),拿下央視春晚獨(dú)家合作權(quán),一夜之間為微信支付帶來(lái)1億多張新增銀行卡綁定,僅用一天就完成支付寶幾年走過(guò)的道路,被馬云稱(chēng)為阿里史上的珍珠港事件,自此也開(kāi)啟了互聯(lián)網(wǎng)巨頭春節(jié)紅包營(yíng)銷(xiāo)的序幕。
2016年春晚,支付寶砸下2.69億奪得央視春晚的獨(dú)家合作權(quán),并創(chuàng)造史上最經(jīng)典的集五福紅包玩法,當(dāng)年支付寶宣布向全國(guó)觀眾豪派8億元紅包,除夕當(dāng)天,支付寶上加好友、換福卡、發(fā)紅包的次數(shù)達(dá)到677億次。?
而2020年春節(jié),快手早早就與央視春晚達(dá)成獨(dú)家合作關(guān)系,本以為今年紅包大戰(zhàn)的C位已經(jīng)沒(méi)有懸念,但是阿里突然在1月11日宣布成為淘寶春晚獨(dú)家電商合作伙伴,雖不發(fā)紅包,但是阿里帶來(lái)了10億元的購(gòu)物補(bǔ)貼,并將抽取5萬(wàn)名消費(fèi)者清空購(gòu)物車(chē),為紅包大戰(zhàn)再添了一把火。
而今年令人糾心的疫情,也必將使線下活動(dòng)有所減少,同時(shí)也會(huì)增加線上活動(dòng)的熱度,這些客觀因素都必將使今年的紅包大戰(zhàn)更具看點(diǎn)。其實(shí)從技術(shù)角度講紅包大戰(zhàn)最大的看點(diǎn)是云計(jì)算。
搶紅包背后的技術(shù)看點(diǎn)之一:分布式架構(gòu)
如果想承接搶紅包這樣一個(gè)短時(shí)上億并發(fā)量的場(chǎng)景,即便是世界最強(qiáng)超算也力不從心,所以這就要求紅包系統(tǒng)首先要滿(mǎn)足分布式架構(gòu)的需求,而分布式系統(tǒng)也有一個(gè)重要的原則CAP定理。
CAP定理:是指在一個(gè)分布式系統(tǒng)(Distributed System)中,一致性(Consistency)、可用性(Availability)、分區(qū)容錯(cuò)性(Partition tolerance),呈不可能三角關(guān)系,既三個(gè)目標(biāo)只能同時(shí)做到兩點(diǎn),不可能三者兼顧。
其實(shí)CAP定理并不難理解,因?yàn)槿绻麧M(mǎn)足一致性、高可用性,那么一旦集群內(nèi)有節(jié)點(diǎn)故障,為保證數(shù)據(jù)一致,必將使系統(tǒng)整體陷入中斷。
如果既滿(mǎn)足可用性、又滿(mǎn)足分區(qū)容錯(cuò)性,那么必然存在某個(gè)節(jié)點(diǎn)在系統(tǒng)對(duì)外提供服務(wù)時(shí)出現(xiàn)宕機(jī),而這時(shí)各節(jié)點(diǎn)的數(shù)據(jù)一致性,又無(wú)法完全保證。
結(jié)合紅包系統(tǒng)的需求分析,系統(tǒng)可用性肯定是要首先保證的,如果真是春晚當(dāng)天頁(yè)面無(wú)法訪問(wèn),那恐怕?tīng)I(yíng)銷(xiāo)不成,反而會(huì)讓用戶(hù)路轉(zhuǎn)黑了。
而且在大流量的沖擊下,節(jié)點(diǎn)故障也是難免,因此分區(qū)容錯(cuò)性也需要保證,這樣看來(lái),能稍微放一放的只有數(shù)據(jù)一致性,因此從這個(gè)角度上講,紅包的總額必然會(huì)圍繞期望值上下浮動(dòng)。
目前分布式系統(tǒng)交易分發(fā),一般有兩種方式,一是哈希法,將服務(wù)請(qǐng)求序列化后計(jì)算哈希值,然后根據(jù)這個(gè)哈希值將請(qǐng)求分配到不同的節(jié)點(diǎn)上,當(dāng)然直接把請(qǐng)求按照順序循環(huán)發(fā)送集群內(nèi)的服務(wù)器,也可以看作是哈希法的變種,不過(guò)這會(huì)使入口處的負(fù)載設(shè)備成為瓶頸。二是將所有請(qǐng)求人為分成幾份,每個(gè)集群只處理自己接到的請(qǐng)求,以此為降低入口流量的壓力,但這樣的缺點(diǎn)是,很難將請(qǐng)求平均分配。
搶紅包這樣的系統(tǒng),只能將以上兩種方案結(jié)合。首先根據(jù)歷史經(jīng)驗(yàn),將交易量相量的地區(qū)結(jié)合,分為一組,比如北京、天津和遼寧、長(zhǎng)春分為一組、上海、蘇州、南京分為二組等等以此類(lèi)推,與之對(duì)應(yīng)的云集群,都有自己獨(dú)立的紅包額度,也只處理發(fā)給自己的請(qǐng)求。這樣能避免入口的瓶頸,也盡量平均分配了請(qǐng)求的處理量。
接下來(lái)每個(gè)集群,也會(huì)將額度分配給內(nèi)部的服務(wù)器,然后每個(gè)服務(wù)器會(huì)將自己庫(kù)存范圍內(nèi)的請(qǐng)求,直接標(biāo)志為成功,并在自己庫(kù)存范圍的基礎(chǔ)上,還會(huì)多預(yù)留一定比例的需求為待定,待統(tǒng)一減庫(kù)存后再確定能否待請(qǐng)求能否成功。
從分布式的角度來(lái)看,分區(qū)域與分庫(kù)存是系統(tǒng)設(shè)計(jì)的基礎(chǔ)環(huán)節(jié),而接下來(lái)要做的就是上云了。
搶紅包背后的技術(shù)看點(diǎn)之:云計(jì)算
2019年雙十一,阿里宣布自身全部核心系統(tǒng)已經(jīng)完成上云,這是一個(gè)非常驚人的成就,隨著傳統(tǒng)的軟硬件分離,迭代的模式逐步顯現(xiàn)出局限性,現(xiàn)今的應(yīng)用越來(lái)越復(fù)雜,對(duì)算力的要求越來(lái)越高,而算法、軟件和硬件的隔閡造成巨大算力的浪費(fèi),已經(jīng)無(wú)法滿(mǎn)足在超大規(guī)模計(jì)算機(jī)場(chǎng)景下,提升IT計(jì)算效率、降低計(jì)算成本的訴求。
這時(shí)“云”的價(jià)值開(kāi)始體現(xiàn),但是云時(shí)代軟件開(kāi)發(fā)的方法論與模式,與之前時(shí)代完全不同,因?yàn)樵谱畲蟮奶攸c(diǎn)就是可持續(xù)交付和微服務(wù)化,完全上云不但有巨大的好處,也意味著巨大的挑戰(zhàn)。
分布式與云計(jì)算就像一對(duì)孿生兄弟,必須要結(jié)合使用才能發(fā)揮出最大的價(jià)值,分布式系統(tǒng)的各節(jié)點(diǎn)最好都是整齊劃一,這樣調(diào)度成本都可能會(huì)降到最低。
而如果出現(xiàn)有的節(jié)點(diǎn)算力強(qiáng),有的節(jié)點(diǎn)算力弱,那么受木桶原理制約,系統(tǒng)的性能就很可能被算力最弱的節(jié)點(diǎn)所限制,而云這種屏底層,向客戶(hù)交付標(biāo)準(zhǔn)化硬件的技術(shù),在分布式的架構(gòu)下就會(huì)大顯神威。
也恰恰是由于以上原因,我們可以看到參與這種紅包活動(dòng)的企業(yè),往往都是純線上企業(yè),因此一旦企業(yè)有線下網(wǎng)點(diǎn)的布局,那么在參與紅包活動(dòng)時(shí)都需要考慮給網(wǎng)點(diǎn)的發(fā)起請(qǐng)求調(diào)高優(yōu)先級(jí),進(jìn)行區(qū)別對(duì)待,這種非標(biāo)標(biāo)準(zhǔn)的請(qǐng)求會(huì)讓系統(tǒng)復(fù)雜度呈幾何級(jí)數(shù)增長(zhǎng)。
所以從云的角度上看,用戶(hù)搶的不是紅包,而是在各自區(qū)域請(qǐng)求中隊(duì)列中的云資源。
國(guó)產(chǎn)云計(jì)算發(fā)展的坎坷之路
雖然“云”的好處很多,但是其發(fā)展并不算特別順利,在十年前概念提出伊始,普遍不為人看好,甚至被某IT大佬戲稱(chēng),“云計(jì)算只是新瓶裝舊酒”,其背后的原因還是虛擬化層所耗的資源無(wú)法避免。
在阿里云創(chuàng)始人王堅(jiān)院士,參加央視《朗讀者》節(jié)目時(shí)曾表示,阿里云是工程師拿命來(lái)填的,因?yàn)榈谝粋€(gè)用電的人,第一個(gè)坐飛機(jī)的人也是拿命來(lái)填的。
這還真不是危言聳聽(tīng),在成立最初幾年,阿里云的年離職率高達(dá)60%以下,甚至在2012年阿里的年會(huì)上,王堅(jiān)還因?yàn)榭吹搅四切╇x開(kāi)的同事,而失聲痛哭。
但情況從2015年開(kāi)始改觀,阿里云在Sort Benchmark的排序競(jìng)賽中,僅用不到7分鐘就完成了100TB的數(shù)據(jù)排序,打破了Apache Spark之前23.4分鐘的紀(jì)錄。
后又獲得2017年中國(guó)電子學(xué)會(huì)頒發(fā)的科技進(jìn)步獎(jiǎng)之特等獎(jiǎng),這也是該獎(jiǎng)項(xiàng)設(shè)立以來(lái)的首個(gè)特等獎(jiǎng)。
接下來(lái),神龍服務(wù)器和飛天操作系統(tǒng)的誕生,基本克服了云的弱點(diǎn),并將云的規(guī)模效應(yīng)發(fā)揮到極致。
神龍服務(wù)器:阿里云降低虛擬層消耗的秘決,在于神龍服務(wù)器這塊完全自研的MOC卡,正是MOC的居中調(diào)度,讓阿里神龍服務(wù)器不再使用寶貴的CPU資源進(jìn)行虛擬化層的調(diào)度工作,從而大大降低云轉(zhuǎn)換成本。
飛天操作系統(tǒng):正所謂韓信點(diǎn)兵,多多益善,飛天能將百萬(wàn)級(jí)服務(wù)器連成一臺(tái)超級(jí)計(jì)算機(jī),還能有條不紊地通過(guò)云計(jì)算向用戶(hù)提供計(jì)算能力。
我們看到在飛天的基礎(chǔ)公共模塊之上,有兩個(gè)最核心的服務(wù),一個(gè)是盤(pán)古,另一個(gè)是伏羲。
盤(pán)古是存儲(chǔ)管理服務(wù),伏羲是資源調(diào)度服務(wù),飛天內(nèi)核之上應(yīng)用的存儲(chǔ)和資源的分配都是由盤(pán)古和伏羲管理。具體見(jiàn)下圖:
可以看到飛天中的眾多模塊都是以上古天神命名的,其中:
夸父:負(fù)責(zé)網(wǎng)絡(luò)通信,由于飛天是要將眾多服務(wù)器連接在一起的,夸父正是完成他們之間的通信功能。
女?huà)z:與負(fù)責(zé)命名與協(xié)同工作,與神話(huà)中造人的工作不同,做為飛天中的唯一女性女?huà)z負(fù)責(zé)將所有子模塊的命名與協(xié)調(diào)工作。
盤(pán)古:負(fù)責(zé)分布式存儲(chǔ)。
神農(nóng):負(fù)責(zé)監(jiān)控,隨時(shí)治病救人。
伏羲:負(fù)責(zé)任務(wù)調(diào)度及資源管理,這也和精通音律和伏羲氏有點(diǎn)淵源。
大禹:負(fù)責(zé)集群布署。
鐘馗:負(fù)責(zé)安全,負(fù)責(zé)捉鬼。
在國(guó)產(chǎn)云計(jì)算行業(yè),其它大廠也都有各自的特長(zhǎng),比如騰訊做為全球社區(qū)的巨頭騰訊,其QQ類(lèi)的社交軟件,面對(duì)著比其它應(yīng)用多出幾倍的流量短暫時(shí)突發(fā)場(chǎng)景,在面對(duì)這樣的問(wèn)題時(shí),以虛擬機(jī)為單位補(bǔ)充資源,會(huì)很浪費(fèi)資源。
因此騰訊在容器化方面做了很多細(xì)節(jié)工作,以滿(mǎn)足這種突發(fā)、短時(shí)的彈性需求。
而騰訊近期開(kāi)源的TencentOS Kernel,在容器運(yùn)行所需的資源調(diào)度彈性、系統(tǒng)性能及安全等層面做了很多優(yōu)化,可謂是開(kāi)源+“容器云”的典范。
未來(lái):打開(kāi)水龍頭就能使用云
通過(guò)自主掌控的技術(shù),國(guó)內(nèi)的科技巨頭,在云計(jì)算領(lǐng)域已經(jīng)走向了世界的前列,通過(guò)云大幅提升計(jì)算效率,實(shí)現(xiàn)能夠突破傳統(tǒng)IT時(shí)代的算力瓶頸,凸顯云計(jì)算的整體優(yōu)勢(shì)。
云正在與區(qū)塊鏈結(jié)合成為Baas,正在與AI結(jié)合成為Aaas,云正在不斷下沉,變成互聯(lián)網(wǎng)時(shí)間的空氣和水一樣基礎(chǔ)設(shè)施。
而未來(lái)我們可以不再關(guān)心云計(jì)算背后的細(xì)節(jié),就像不用關(guān)心水是如何過(guò)濾、運(yùn)送一樣,打開(kāi)水龍頭就可以使用到云,未來(lái)云計(jì)算的發(fā)展空間和使用場(chǎng)景還會(huì)不斷拓寬,未來(lái)可期,拭目以待。?
【END】
熱 文?推 薦?
?「今天沾一口野味,明天地府相會(huì)!」AI如何抗擊「野味肺炎」
?無(wú)代碼開(kāi)發(fā)究竟是不是偽需求?
?云計(jì)算的 2020:云原生崛起,重新定義軟件
疫情嚴(yán)重,潛伏期也有傳染性?科技公司在行動(dòng)
?程序員談從科比的曼巴精神中,我們能學(xué)到什么?
用開(kāi)發(fā)者的方式共克時(shí)艱!
總結(jié)
以上是生活随笔為你收集整理的你抢的不是春节红包而是云的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 云+X案例展 | 民生类:京东云突破数据
- 下一篇: 如何在容器内高效编程?
