1. 程式人生 > >阿里雲檔案儲存(NAS)助力業務系統承載雙十一尖峰流量

阿里雲檔案儲存(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所示。

阿里雲檔案儲存(NAS)助力業務系統承載雙十一尖峰流量
圖1: 阿里雲檔案儲存架構

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

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

阿里雲檔案儲存(NAS)助力業務系統承載雙十一尖峰流量
圖2 阿里雲檔案儲存特性

賬單業務訊息系統適配檔案儲存
隨著雲上檔案儲存的知名度越來越廣,阿里集團的很多內部業務也開始接入檔案儲存,其中就包括支撐賬單業務的訊息系統。

架構設計
訊息系統的儲存本來使用的是本地盤,這樣最主要的問題就是當單機故障時,儲存在磁碟上的資料沒法及時被其他主機訪問,其他主機不能快速接管原來主機的業務,缺乏容災的能力,對應用的影響非常大。而使用檔案儲存天然具有多機共享訪問的能力,可以很好的解決這個問題。

但是,如果只是簡簡單單地做一個替換,把本地儲存換成檔案儲存,如圖3那樣,

阿里雲檔案儲存(NAS)助力業務系統承載雙十一尖峰流量
圖3 本地儲存替換成檔案儲存(共享訪問)

多臺ECS通過NFSv4掛載同一個檔案系統,每個ECS會使用到一個檔案系統裡的多個子目錄作為訊息檔案的儲存空間,雖然解決了前述的容災問題,但這個架構的問題是過於依賴單點的儲存,萬一單檔案系統發生故障,所有訊息佇列的訪問都會受到影響,因此需要對架構進行進一步調整。調整的基本思路就是將流量儘量打散到多個檔案系統上,同時又避免對業務方軟體的改造。

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

阿里雲檔案儲存(NAS)助力業務系統承載雙十一尖峰流量
圖4 架構優化

細節優化
相對於使用本地盤,計算儲存分離架構下,如果應對儲存測的異常和故障呢?標準的NFS掛載下,如果服務端出現故障或者網路發生故障,客戶端訪問檔案儲存將會是完全hang住,直到服務或者網路恢復為止。針對這個問題,訊息系統進行了相應改造,業務系統對訊息的一致性保障進行了優化,可以支援寫訊息失敗。這樣就可以使用NFS的soft掛載模式,當服務端出現故障或者網路發生故障時,應用程式將不會再是完全hang住,而是能迅速監測到IOError,並立即採取對應的行動。結合前述的架構設計,應用程式能進行快速響應,把流量分流到其他存活的檔案系統上,快速恢復。

雙十一的考驗
經過架構設計和細節優化,檔案儲存的scale-out能力在雙十一尖峰發揮出了應有的能力,即使在0點時刻流量是平時的60倍以上,表現依然穩定,在檔案儲存的給力表現下,業務系統的響應依然如日常一樣順滑,完全感覺不出超大流量對系統的衝擊。

總結
阿里雲檔案儲存為雲上業務提供支援標準介面(POSIX)以及標準檔案訪問協議(NFS,SMB)的儲存服務,並且具有簡單易用、安全可靠、效能和容量scale-out等特性。經過雙十一的錘鍊,檔案儲存的服務能力必將繼續上升一個臺階,將提升後的能力以普惠技術的形式向雲上各行各業輸出,推動社會生產力的發展。