雲栖号: https://www.aliyun.com/#module-yedOfott8 第一手的上雲資訊,不同行業精選的上雲企業案例庫,基于衆多成功案例萃取而成的最佳實踐,助力您上雲決策!
2019天貓“雙11”,零點鐘聲剛過去1分36秒,成交額已突破100億元人民币,最終成交額為2684億,又一次重新整理了世界記錄。
對象存儲OSS作為淘寶、天貓、支付寶等核心阿裡App背後的圖檔存儲底座,又一次平穩的頂住了雙11淩晨洪峰,并且提供了10倍的圖檔浏覽性能優化,在本文中,來自阿裡雲資深技術專家羅慶超将為大家揭秘OSS背後的穩定性設計。
前言
阿裡雲對象存儲OSS是阿裡集團非結構化資料的統一存儲系統,支撐了集團内的大量業務,存儲了海量的圖檔、視訊、音頻、文檔等檔案。OSS的同城備援存儲特性為螞蟻主站實作世界領先的容災能力提供了RPO為零的技術支撐,完全自主研發的FPGA圖檔處理功能以5倍的單機性能、1/10的處理延遲,為雙11提供了更穩定、更高效的服務能力。
OSS雙11穩定性工作思路
OSS很早就參與了雙11支撐,在業務洪峰的不斷打磨下,持續淬煉産品的架構、特性、穩定性,通過多年的摸索,總結了如下支撐雙11穩定性的思路,作為大促支撐的工作指南。

2.1 業務規劃
今年雙11的主題是一心一役,為了打好這場戰役,團隊詳細梳理了業務情況。整體來看,集團上雲到OSS的核心業務主要支撐淘寶天貓的圖檔、視訊浏覽,為了保證無損的切換、以及體驗優化,制定了2階段的遷移目标:
- 第一階段目标為OSS适配業務,保障平滑切換。
- 第二階段目标為享受公共雲彈性收益、并優化圖檔處理性能。
通過對業務來龍去脈的掌握,團隊針對最終目标分解出清晰的步驟和路标,進而支撐業務和技術的快速疊代、靈活傳遞。
2.2 架構設計
梳理清需求和路标,就可以針對技術架構、業務架構進行詳細設計,確定需求和架構設計一緻,進而支撐客戶需求的正确落地。
2.2.1 OSS 技術架構
今年杭州雲栖大會,OSS基于貔貅3新硬體和盤古2.0底層演進到了新時代,基于如下的架構釋出了 9 大新特性。
OSS通過大規模的生産實踐,提供了5個業界領先的關鍵競争力:
- 可靠性,指在硬碟、伺服器、網絡等故障情況下,以及火災、地震、洪水等災害時,可以有效防止資料丢失,通過跨機機櫃、機房、區域的資料備援,實作了12個9的高可靠性。
- 可用性,指在伺服器故障時、光線挖斷時,可自動切換實作業務連續性,通過容錯設計,實作了99.995%的可用性。
- 安全合規,指資料通路的認證、授權、加密、以及行業法規遵從,支援多項合規認證,比如KMS加密、WORM認證等。
- 彈性擴容,能夠自适應業務資料快速增長,避免出現存儲空間被打爆,通過業界領先的資源供應鍊管理、軟體分布式彈性設計,實作百EB級空間、百萬億級對象規模能力。
- 自動生命管理管理,支援冷熱資料的管理,優化TCO,提供标準、低頻、歸檔存儲,并自動化遷移,優化存儲使用成本。
2.2.2 業務異地多活架構
為保障業務連續性,采用了異地多活架構,核心技術為一寫多讀。開通了OSS主區域到兩個備區域的跨區域複制功能,如下圖所示。
- 寫入時隻寫主區域,開發便捷。利用OSS跨區域複制能力,将資料複制到備區域,進而備區域有全量的資料。
- 讀取時可根據地域就近讀取,降低延遲。由于寫入時隻寫資料到主區域,資料是異步複制到備區域,是以使用者讀備區域資料時,可能資料還未複制完成,此時通過OSS鏡像回源功能從主區域讀取資料。
進而,可在不同的區域級故障場景時,實作快速切換,提供容災秒級RPO(Recovery Point Objective),保證業務應用連續性。
- 備區域不可用,上層業務快速切換到另外2個區域,并将流量均分,業務能立即恢複,切換也非常友善。
- 主區域不可用,則選擇新的主區域(如選擇區域2),并開通區域2到區域3的跨域複制,進而業務可以将寫請求切換到新的主區域,讀請求也切換到剩下的區域;同時,基于OSS的版本控制和業務無更新寫,實作了主區域故障切換的資料一緻性。
2.3 特性功能
2.3.1 資料高可靠容災特性
圍繞着資料高可靠需求,團隊在今年雙11重點開發&部署了如下關鍵特性:
- 同城備援存儲(3AZ, Access Zone),實作RPO為0的容災能力。要實作3AZ備援,需要OSS的關鍵元件女娲(分布式一緻性)、盤古(分布式檔案系統)、有巢(分布式KV索引)等都需要實作跨資料中心備援,基于遵守PAXOS的一緻性協定、精妙設計的AZ間帶寬和時延、以及資料分片的政策,保證了AZ故障後的快速切換,零資料丢失。經過螞蟻主站(支付寶賬單、刷臉類業務)、網商銀行、淘寶短視訊、天貓大屏等的業務打磨,檢驗了3AZ的能力,得到了廣泛認可。
- 跨區域複制,它實作跨不同OSS區域的存儲空間(Bucket)異步對象複制,将對象的建立、更新和删除等操作從源存儲空間複制到不同區域的目标存儲空間,提供RPO為秒級~分鐘級的容災能力。在集團圖檔雲異地多活架構中,它發揮了關鍵作用。
2.3.2 高性能特性
為了滿足業務的高性能要求,開發了如下的性能優化特性,如下圖所示。
- 圖檔處理加速引擎,縮放性能十倍提升。雙11淩晨流量洪峰時,有大量的圖檔處理請求,其中圖檔縮放請求占據了相當大的比例。OSS基于FPGA異構計算解除安裝,結合自研的 Resize 算法,集中在緩存優化、記憶體通路優化、FPGA資源優化挖掘技術深度,實作時延是CPU處理時延的1/10。
- 區域級桶分布政策,支援淘寶、天貓圖檔雲業務高 QPS 能力。通過該分布政策,可以将桶中的對象資料分布到區域範圍内的所有機器上,不僅可以實作資料存放的均衡性,還可以極大提升單個 Bucket 的 QPS 能力。根據今年雙11淘寶圖檔雲需求,OSS能夠為該業務的桶提供近百萬 QPS 能力。
- OSS傳輸加速。随着業務向新區域擴充,業務資料的存儲位置發生了變化,導緻時延也發生了變化。傳輸加速利用底層的全球網絡,采用CNAME自定義加速區域,實作就近傳輸,最高可達到4倍加速效果。
2.4 開發運維效率
OSS作為阿裡雲基礎設施服務,開發運維效率至關重要。基于OSS孵化的赤骥管控已經演化為阿裡雲存儲的管控平台,服務于對象存儲、檔案存儲、表格存儲、日志存儲、智能存儲、女娲等。OSS-Brain是基于海量的線上運維資料,設計的智能運維元件,除了保障OSS的健康穩定運作外,還可以支撐架構設計。如下是詳細介紹:
- 赤骥自動化監控運維。針對“監控+預案”做好事前準備,在雙11壓測和準備期間積累了大量預案,形成了穩定性保障的強力後盾。采用“動态工作流”支撐事中靈活應對,面向快速“告警、定位、恢複”的目标設計動态表單引擎和批量執行引擎,性能上支援百萬級任務排程和萬級别的任務并發,快速響應應急處理。
- OSS-Brain 資料智能運維平台。它的使命是用“資料+算法”來保障 OSS 的穩定運作,賦能線上運維及營運。結合機器學習中常用的分類算法(邏輯回歸、随機森林、GBDT),聚類算法(DBSCAN、層次聚類)、回歸算法(線性回歸、GBRT等),以及深度學習算法(CNN、RNN、LSTM),實作智能運維。
2.5 穩定性看護
2.5.1 主動防護
針對雙11特點,梳理了如下穩定性主動防護點:
- 基于需求預測算法的庫存管理。雲服務基于需求的智能預測可以保障服務的穩定性,同時也要降低算法預測誤差,保障投資回報比。
- 多租戶下的差異化流控。雙11集團使用者上雲,要做好租戶的流控隔離。OSS為此提供了桶級流控、租戶級流控能力,以及針對業務請求的差異化流控。
- 防SYN-FLOOD攻擊。針對雲服務的安全攻擊很普遍,SYN-FLOOD 是常見的類型,OSS作為雲基礎設施服務,通過此功能支撐高并發通路、突發請求,保證租戶不被影響。
2.5.2 拉網式風險排查,謹防漏網之魚
在雙11的方案讨論、日常巡檢、按期壓測等過程中,都會發現風險點,為此專門組織了拉網式排查,對每個隐患都要找出根因,不放過任何潛在問題。
2.6 流程和文化
為了讓雙11的經驗得到傳承,總結了相關管理流程和文化:
- 需求管理、任務分解。
- 值班手冊、人人必遵。
- 預案演練、結對配合。
成果和展望
在穩定性思路的指導下,團隊認真仔細的開展任務,結合高效的執行力,順利支撐了今年雙11。希望未來繼續堅持“穩定性工作思路”,并應用到每天每秒的日常運維中,讓所有的使用者都能享受到服務穩如磐石、體驗絲般順滑的對象存儲OSS。
原文釋出時間:2020-01-04
本文作者:羅慶超
本文來自阿裡雲雲栖号合作夥伴“
CSDN”,了解相關資訊可以關注“
”