阿里雲文件存儲(NAS)助力業務系統承載雙十一尖峯流量

2018天貓雙11全球狂歡節,全天成交額再次刷新紀錄達到2135億元,其中總成交額在開場後僅僅用了2分05秒即突破100億元,峯值的交易量達到驚人的高度,背後離不開阿里雲大數據計算和存儲能力的支撐。在整個交易的鏈路上,帳單業務是一個重要的環節,尤爲對商家系統來講,須要按期對帳,帳單子系統出現一點點問題都會影響商家的運營,2018的雙十一,承載帳單的消息系統把全網賣家帳單系統60%的流量託付給了阿里雲文件存儲。在11日0點的峯值交易時刻,帳單消息系統的寫入流量瞬間達到平常流量的60倍以上,阿里雲文件存儲表現穩定,順利扛下這一波洪峯,幫助業務系統完美度過0點的考驗。本文將介紹阿里雲文件存儲的背景,以及文件存儲是如何來保障業務系統應對高壓力的。前端

什麼是雲上的NAS文件存儲

在阿里雲的發展早期,在雲服務器ECS上運行的應用須要進行數據存儲時,有兩個選擇:安全

  • 雲盤:兼容應用的IO接口,可是和物理機使用硬盤同樣,雲盤和ECS綁定,單塊雲盤只能特定ECS訪問;
  • OSS:多ECS能夠共享訪問,但須要應用調整IO接口,使用OSS的REST接口;

但若是應用既想保留原有的IO接口(通常是POSIX接口),又須要實現多ECS共享存儲,就沒有很好的解決辦法。NAS文件存儲在這樣的背景下應運而生,針對傳統企業級應用的存儲需求,經過標準NAS系統協議(NFS/SMB),爲ECS提供共享存儲,支持隨機讀寫以及PB級別容量,而且支持容量動態擴展,方便業務從小規模逐漸擴大過程當中,不須要再擔憂存儲容量的擴容以及運維問題。服務器

阿里雲NAS文件系統從2016年推出至今,已經應用在豐富的業務場景中,包括高HPC性能計算、Web服務和內容管理、媒體和娛樂處理工做流、容器存儲、基因和生命科學數據存儲處理,深度學習大數據處理等等,很好地服務了雲上的客戶。網絡

NAS文件存儲架構設計

阿里雲文件存儲是一個可共享訪問,彈性擴展,高可靠,高性能的分佈式文件系統,其架構設計如圖1所示。數據結構

圖1: 阿里雲文件存儲架構架構

整個技術棧分五層,第一層是各種計算節點(好比ECS、Docker、GPU等)不一樣操做系統使用標準文件協議NFS/SMB訪問文件存儲。第二層是阿里雲網絡負載均衡,把客戶端請求輪轉發送到前端機。第三層是負責協議處理的前端機,具有scale-out的能力。第四層是文件系統元數據管理,實現高效的數據結構保證元數據的快速操做。第五層是元數據和數據的持久化存儲,使用阿里雲盤古存儲系統。負載均衡

整個架構經過盤古保證高可靠,另外經過文件存儲高效的數據和元數據管理技術實現scale-out、高可用,超高的數據訪問性能以及一系列企業級存儲的特性,如圖2所示。運維

圖2 阿里雲文件存儲特性分佈式

帳單業務消息系統適配文件存儲

隨着雲上文件存儲的知名度愈來愈廣,阿里集團的不少內部業務也開始接入文件存儲,其中就包括支撐帳單業務的消息系統。性能

架構設計

消息系統的存儲原本使用的是本地盤,這樣最主要的問題就是當單機故障時,存儲在磁盤上的數據無法及時被其餘主機訪問,其餘主機不能快速接管原來主機的業務,缺少容災的能力,對應用的影響很是大。而使用文件存儲自然具備多機共享訪問的能力,能夠很好的解決這個問題。

可是,若是隻是簡簡單單地作一個替換,把本地存儲換成文件存儲,如圖3那樣,

圖3 本地存儲替換成文件存儲(共享訪問)

多臺ECS經過NFSv4掛載同一個文件系統,每一個ECS會使用到一個文件系統裏的多個子目錄做爲消息文件的存儲空間,雖然解決了前述的容災問題,但這個架構的問題是過於依賴單點的存儲,萬一單文件系統發生故障,全部消息隊列的訪問都會受到影響,所以須要對架構進行進一步調整。調整的基本思路就是將流量儘可能打散到多個文件系統上,同時又避免對業務方軟件的改造。

調整後的架構入圖4所示,爲業務建立多個虛擬雲機房,每一個虛擬雲機房的消息系統存儲由4個NAS文件系統來承載,消息系統計算節點ECS會同時掛載4個文件系統,而且經過軟連接的方式在‘nasroot’目錄下看到多個隊列,對業務使用上來講,這些隊列對應的目錄是在同一個文件系統(原來的架構)仍是多個文件系統(新的架構)是不感知的,這樣就將業務須要改造的量最小化,只須要在部署時候進行相應的自動化(掛載和建立軟連接)便可,但帶來的好處是巨大的,萬一發生單文件系統的故障,業務能夠自動分流到存活的文件系統,能夠有效應對各類故障場景。

圖4 架構優化

細節優化

相對於使用本地盤,計算存儲分離架構下,若是應對存儲測的異常和故障呢?標準的NFS掛載下,若是服務端出現故障或者網絡發生故障,客戶端訪問文件存儲將會是徹底hang住,直到服務或者網絡恢復爲止。針對這個問題,消息系統進行了相應改造,業務系統對消息的一致性保障進行了優化,能夠支持寫消息失敗。這樣就可使用NFS的soft掛載模式,當服務端出現故障或者網絡發生故障時,應用程序將不會再是徹底hang住,而是能迅速監測到IOError,並當即採起對應的行動。結合前述的架構設計,應用程序能進行快速響應,把流量分流到其餘存活的文件系統上,快速恢復。

雙十一的考驗

通過架構設計和細節優化,文件存儲的scale-out能力在雙十一尖峯發揮出了應有的能力,即便在0點時刻流量是平時的60倍以上,表現依然穩定,在文件存儲的給力表現下,業務系統的響應依然如平常同樣順滑,徹底感受不出超大流量對系統的衝擊。

總結

阿里雲文件存儲爲雲上業務提供支持標準接口(POSIX)以及標準文件訪問協議(NFS,SMB)的存儲服務,而且具備簡單易用、安全可靠、性能和容量scale-out等特性。通過雙十一的錘鍊,文件存儲的服務能力必將繼續上升一個臺階,將提高後的能力以普惠技術的形式向雲上各行各業輸出,推進社會生產力的發展。

原文連接

相關文章
相關標籤/搜索