2018天貓雙11全球狂歡節(jié),全天成交額再次刷新紀(jì)錄達(dá)到2135億元,其中總成交額在開場(chǎng)后僅僅用了2分05秒即突破100億元,峰值的交易量達(dá)到驚人的高度,背后離不開阿里云大數(shù)據(jù)計(jì)算和存儲(chǔ)能力的支撐。在整個(gè)交易的鏈路上,賬單業(yè)務(wù)是一個(gè)重要的環(huán)節(jié),尤其對(duì)商家系統(tǒng)來說,需要定期對(duì)賬,賬單子系統(tǒng)出現(xiàn)一點(diǎn)點(diǎn)問題都會(huì)影響商家的運(yùn)營,2018的雙十一,承載賬單的消息系統(tǒng)把全網(wǎng)賣家賬單系統(tǒng)60%的流量托付給了阿里云文件存儲(chǔ)。在11日0點(diǎn)的峰值交易時(shí)刻,賬單消息系統(tǒng)的寫入流量瞬間達(dá)到日常流量的60倍以上,阿里云文件存儲(chǔ)表現(xiàn)穩(wěn)定,順利扛下這一波洪峰,幫助業(yè)務(wù)系統(tǒng)完美度過0點(diǎn)的考驗(yàn)。本文將介紹阿里云文件存儲(chǔ)的背景,以及文件存儲(chǔ)是如何來保障業(yè)務(wù)系統(tǒng)應(yīng)對(duì)高壓力的。
什么是云上的NAS文件存儲(chǔ)
在阿里云的發(fā)展早期,在云服務(wù)器ECS上運(yùn)行的應(yīng)用需要進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),有兩個(gè)選擇:
云盤:兼容應(yīng)用的IO接口,但是和物理機(jī)使用硬盤一樣,云盤和ECS綁定,單塊云盤只能特定ECS訪問;
OSS:多ECS可以共享訪問,但需要應(yīng)用調(diào)整IO接口,使用OSS的REST接口;
但如果應(yīng)用既想保留原有的IO接口(一般是POSIX接口),又需要實(shí)現(xiàn)多ECS共享存儲(chǔ),就沒有很好的解決辦法。NAS文件存儲(chǔ)在這樣的背景下應(yīng)運(yùn)而生,針對(duì)傳統(tǒng)企業(yè)級(jí)應(yīng)用的存儲(chǔ)需求,通過標(biāo)準(zhǔn)NAS系統(tǒng)協(xié)議(NFS/SMB),為ECS提供共享存儲(chǔ),支持隨機(jī)讀寫以及PB級(jí)別容量,并且支持容量動(dòng)態(tài)擴(kuò)展,方便業(yè)務(wù)從小規(guī)模逐漸擴(kuò)大過程中,不需要再擔(dān)心存儲(chǔ)容量的擴(kuò)容以及運(yùn)維問題。
阿里云NAS文件系統(tǒng)從2016年推出至今,已經(jīng)應(yīng)用在豐富的業(yè)務(wù)場(chǎng)景中,包括高HPC性能計(jì)算、Web服務(wù)和內(nèi)容管理、媒體和娛樂處理工作流、容器存儲(chǔ)、基因和生命科學(xué)數(shù)據(jù)存儲(chǔ)處理,深度學(xué)習(xí)大數(shù)據(jù)處理等等,很好地服務(wù)了云上的客戶。
NAS文件存儲(chǔ)架構(gòu)設(shè)計(jì)
阿里云文件存儲(chǔ)是一個(gè)可共享訪問,彈性擴(kuò)展,高可靠,高性能的分布式文件系統(tǒng),其架構(gòu)設(shè)計(jì)如圖1所示。
圖1: 阿里云文件存儲(chǔ)架構(gòu)
整個(gè)技術(shù)棧分五層,第一層是各類計(jì)算節(jié)點(diǎn)(比如ECS、Docker、GPU等)不同操作系統(tǒng)使用標(biāo)準(zhǔn)文件協(xié)議NFS/SMB訪問文件存儲(chǔ)。第二層是阿里云網(wǎng)絡(luò)負(fù)載均衡,把客戶端請(qǐng)求輪轉(zhuǎn)發(fā)送到前端機(jī)。第三層是負(fù)責(zé)協(xié)議處理的前端機(jī),具備scale-out的能力。第四層是文件系統(tǒng)元數(shù)據(jù)管理,實(shí)現(xiàn)高效的數(shù)據(jù)結(jié)構(gòu)保證元數(shù)據(jù)的快速操作。第五層是元數(shù)據(jù)和數(shù)據(jù)的持久化存儲(chǔ),使用阿里云盤古存儲(chǔ)系統(tǒng)。
整個(gè)架構(gòu)通過盤古保證高可靠,另外通過文件存儲(chǔ)高效的數(shù)據(jù)和元數(shù)據(jù)管理技術(shù)實(shí)現(xiàn)scale-out、高可用,超高的數(shù)據(jù)訪問性能以及一系列企業(yè)級(jí)存儲(chǔ)的特性,如圖2所示。
圖2?阿里云文件存儲(chǔ)特性
賬單業(yè)務(wù)消息系統(tǒng)適配文件存儲(chǔ)
隨著云上文件存儲(chǔ)的知名度越來越廣,阿里集團(tuán)的很多內(nèi)部業(yè)務(wù)也開始接入文件存儲(chǔ),其中就包括支撐賬單業(yè)務(wù)的消息系統(tǒng)。
架構(gòu)設(shè)計(jì)
消息系統(tǒng)的存儲(chǔ)本來使用的是本地盤,這樣最主要的問題就是當(dāng)單機(jī)故障時(shí),存儲(chǔ)在磁盤上的數(shù)據(jù)沒法及時(shí)被其他主機(jī)訪問,其他主機(jī)不能快速接管原來主機(jī)的業(yè)務(wù),缺乏容災(zāi)的能力,對(duì)應(yīng)用的影響非常大。而使用文件存儲(chǔ)天然具有多機(jī)共享訪問的能力,可以很好的解決這個(gè)問題。
但是,如果只是簡(jiǎn)簡(jiǎn)單單地做一個(gè)替換,把本地存儲(chǔ)換成文件存儲(chǔ),如圖3那樣,
圖3 本地存儲(chǔ)替換成文件存儲(chǔ)(共享訪問)
多臺(tái)ECS通過NFSv4掛載同一個(gè)文件系統(tǒng),每個(gè)ECS會(huì)使用到一個(gè)文件系統(tǒng)里的多個(gè)子目錄作為消息文件的存儲(chǔ)空間,雖然解決了前述的容災(zāi)問題,但這個(gè)架構(gòu)的問題是過于依賴單點(diǎn)的存儲(chǔ),萬一單文件系統(tǒng)發(fā)生故障,所有消息隊(duì)列的訪問都會(huì)受到影響,因此需要對(duì)架構(gòu)進(jìn)行進(jìn)一步調(diào)整。調(diào)整的基本思路就是將流量盡量打散到多個(gè)文件系統(tǒng)上,同時(shí)又避免對(duì)業(yè)務(wù)方軟件的改造。
調(diào)整后的架構(gòu)入圖4所示,為業(yè)務(wù)創(chuàng)建多個(gè)虛擬云機(jī)房,每個(gè)虛擬云機(jī)房的消息系統(tǒng)存儲(chǔ)由4個(gè)NAS文件系統(tǒng)來承載,消息系統(tǒng)計(jì)算節(jié)點(diǎn)ECS會(huì)同時(shí)掛載4個(gè)文件系統(tǒng),并且通過軟鏈接的方式在‘nasroot’目錄下看到多個(gè)隊(duì)列,對(duì)業(yè)務(wù)使用上來說,這些隊(duì)列對(duì)應(yīng)的目錄是在同一個(gè)文件系統(tǒng)(原來的架構(gòu))還是多個(gè)文件系統(tǒng)(新的架構(gòu))是不感知的,這樣就將業(yè)務(wù)需要改造的量最小化,只需要在部署時(shí)候進(jìn)行相應(yīng)的自動(dòng)化(掛載和創(chuàng)建軟鏈接)即可,但帶來的好處是巨大的,萬一發(fā)生單文件系統(tǒng)的故障,業(yè)務(wù)可以自動(dòng)分流到存活的文件系統(tǒng),可以有效應(yīng)對(duì)各種故障場(chǎng)景。
圖4?架構(gòu)優(yōu)化
細(xì)節(jié)優(yōu)化
相對(duì)于使用本地盤,計(jì)算存儲(chǔ)分離架構(gòu)下,如果應(yīng)對(duì)存儲(chǔ)測(cè)的異常和故障呢?標(biāo)準(zhǔn)的NFS掛載下,如果服務(wù)端出現(xiàn)故障或者網(wǎng)絡(luò)發(fā)生故障,客戶端訪問文件存儲(chǔ)將會(huì)是完全hang住,直到服務(wù)或者網(wǎng)絡(luò)恢復(fù)為止。針對(duì)這個(gè)問題,消息系統(tǒng)進(jìn)行了相應(yīng)改造,業(yè)務(wù)系統(tǒng)對(duì)消息的一致性保障進(jìn)行了優(yōu)化,可以支持寫消息失敗。這樣就可以使用NFS的soft掛載模式,當(dāng)服務(wù)端出現(xiàn)故障或者網(wǎng)絡(luò)發(fā)生故障時(shí),應(yīng)用程序?qū)⒉粫?huì)再是完全hang住,而是能迅速監(jiān)測(cè)到IOError,并立即采取對(duì)應(yīng)的行動(dòng)。結(jié)合前述的架構(gòu)設(shè)計(jì),應(yīng)用程序能進(jìn)行快速響應(yīng),把流量分流到其他存活的文件系統(tǒng)上,快速恢復(fù)。
雙十一的考驗(yàn)
經(jīng)過架構(gòu)設(shè)計(jì)和細(xì)節(jié)優(yōu)化,文件存儲(chǔ)的scale-out能力在雙十一尖峰發(fā)揮出了應(yīng)有的能力,即使在0點(diǎn)時(shí)刻流量是平時(shí)的60倍以上,表現(xiàn)依然穩(wěn)定,在文件存儲(chǔ)的給力表現(xiàn)下,業(yè)務(wù)系統(tǒng)的響應(yīng)依然如日常一樣順滑,完全感覺不出超大流量對(duì)系統(tǒng)的沖擊。
總結(jié)
阿里云文件存儲(chǔ)為云上業(yè)務(wù)提供支持標(biāo)準(zhǔn)接口(POSIX)以及標(biāo)準(zhǔn)文件訪問協(xié)議(NFS,SMB)的存儲(chǔ)服務(wù),并且具有簡(jiǎn)單易用、安全可靠、性能和容量scale-out等特性。經(jīng)過雙十一的錘煉,文件存儲(chǔ)的服務(wù)能力必將繼續(xù)上升一個(gè)臺(tái)階,將提升后的能力以普惠技術(shù)的形式向云上各行各業(yè)輸出,推動(dòng)社會(huì)生產(chǎn)力的發(fā)展。
電子發(fā)燒友App






















































評(píng)論