如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

螞蟻技術 發表於 2022-11-23

4月27日,首屆“全球資訊系統穩定性峰會”在北京召開。會上,中國資訊通訊研究院(以下簡稱“中國信通院”) 公佈了首批資訊系統穩定性保障能力評估結果、分散式系統穩定性實驗室成員單位、資訊系統平穩執行優秀案例。螞蟻集團當選為實驗室成員單位,其支付平臺憑藉在系統穩定和安全等方面的技術與實踐,獲得“系統平穩執行優秀案例”頒證。

作為實驗室成員單位,螞蟻集團積極參與編寫了系統穩定性相關的標準及研究報告,此次峰會上,螞蟻集團數字科技事業群技術副總經理石世群也做了《支付寶系統雙十一穩定性保障經驗分享》的主題演講,分享螞蟻集團金融級分散式架構SOFAStack在系統穩定性保障領域的探索和實踐經驗。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

以下為演講整理全文:

大家好,我是螞蟻集團數字科技的石世群。今天我將線上介紹支付寶雙11穩定性保障的相關內容。

系統的穩定性保障,是一個複雜的系統工程。從2004年到2021年,支付寶經歷了一系列的技術架構升級和迭代,從單元化架構走向彈性上雲,進而演化到雲原生、綠色計算,這個過程既要考慮容量穩定性,也要考慮成本和效率。

我們做了簡單的總結,大概經歷三個階段:

第一階段,主要解決容量的問題。透過LDC、彈效能力和OceanBase,解決了容量理論上無限伸縮的能力。同時,透過全鏈路壓測技術很好的對全鏈路容量進行驗證;
第二階段,當支付的容量能力達標後,進一步考慮的就是如何透過技術創新去提升整體架構的穩定和效率。典型的場景有2個,一個是雲原生,雲原生架構的核心理念是將基礎設施和業務進行剝離,從而釋放基礎設施的紅利,大幅提升創新速度和效率,比較典型的案例就是ServiceMesh在螞蟻的落地。另一個就是我們對於智慧監控運維體系,透過資料智慧的方式,提升系統應急響應恢復的反應速度。
第三階段,綠色減排。連續幾年,我們在保持峰值穩步增長的情況下,提出了大促0成本新增。2021年雙11,我們的主要方向就聚焦在綠色減排上,透過離線上混部、分時排程、智慧AI容量等創新技術,實現節約64萬度電和394噸碳減排。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

接下來,我給大家介紹一下支付寶雙11大促的關鍵技術。

單元化部署

異地多活邏輯單元架構,螞蟻內部也叫LDC,全稱是Logical Data Center(邏輯資料中心),是對IDC(Internet Data Center,網際網路資料中心)的一種邏輯劃分,也是支付寶系統實踐“單元化部署”所採用的方案。

保障資訊系統的穩定性,核心要解決兩方面問題:

第一個,單點瓶頸。任何一個網際網路系統發展到一定規模時,都會不可避免地觸及到單點瓶頸。從單伺服器、單應用,到單資料庫、單機房,進而到多機房部署、多地部署(異地多活),這個過程就是在不斷突破單點瓶頸;

第二個,保障異地容災能力,這樣才能滿足金融級穩定性要求。

多地多機房部署,是網際網路系統發展的必然方向, 這裡面要解決很多關鍵問題,包括流量調配、資料拆分、延時等,當然這些問題都可以透過技術和方案來解決,而承載這些方案的是一個部署架構。儘管可採用的部署方案不止一個,但無論是純理論研究,還是一些先行系統的架構實踐,都把“單元化部署”列為最佳方案。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

所謂單元,是指一個能完成所有業務操作的自包含集合,在這個集合中包含了所有業務所需的所有服務,以及分配給這個單元的資料。一個單元,是一個五臟俱全的縮小版整站,它是全能的,因為部署了所有應用;但它不是全量的,因為只能操作一部分資料。

支付寶內部透過將單元分成RZone、GZone、CZone三類,來解決流量調配、資料拆分、延時的問題:

  • RZone(Region Zone):最符合理論上單元定義的zone,每個RZone都是自包含的,擁有自己的資料,能完成所有業務。
  • GZone(Global Zone):全域性單元,部署了不可拆分的資料和服務,這些資料或服務可能會被RZone依賴。GZone在全域性只有一組,資料僅有一份。
  • CZone(City Zone):以城市為單位部署的單元,同樣部署了不可拆分的資料和服務,也會被RZone依賴。但跟GZone不同的是,CZone中的資料或服務會被RZone頻繁訪問,每一筆業務至少會訪問一次;而GZone被RZone訪問的頻率則低的多。CZone是為了解決異地延遲問題而特別設計的。

基於LDC架構,支付寶實現了真正的異地多活架構,實現了金融級99.99%可用性,以及理論上的無線容量能力,順利支撐了大促數十萬級的能力,同時也為後續的彈性架構奠定了很好的基礎。

彈性架構

剛才我們講到了LDC邏輯單元架構,它是理論上具備了無限容量的可能性,但是現實往往是不太可行的,有以下兩個方面的原因:

一方面,公司內部自己掌控的資源是有限的,隨著支付筆數的快速增長,自持的資源會遇到瓶頸;另一方面,雙11大促畢竟是少數時候,如果長時間擁有這麼多資源,對於成本來講也是不經濟的,這並沒有充分釋放雲端計算的紅利。

螞蟻支付寶在LDC架構的基礎上,進一步升級了彈性架構,實現了按照業務粒度的彈效能力,把一部分單元轉變成彈性單元,在高峰期時彈到雲上去,從而實現快速擴容能力。當大促結束時,再把這些單元彈回到日常機房,這樣就可以保障資源的更有效利用。所有的彈性邏輯都是在基礎設施層面全部做了封裝,對業務實現了無感的彈性。我們在2016年雙11大促,有效支撐了每秒十幾萬級支付峰值,跟自己持有資源的模式相比,成本實現大幅度降低50%以上。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

服務網格

接下來看服務網格ServiceMesh,這也是非常關鍵的一個技術。

為什麼需要ServiceMesh?還得從微服務講起。微服務存在的問題,很多跟服務治理相關,包括元件之間相互依賴、服務管控難、平臺運管等問題,我們透過輕量級網路代理,負責微服務間的通訊等工作,以sidecar形式部署在容器的獨立程式中,並透過一系列的基礎設施和業務解耦,高效實現了基礎設施的升級。在大促期間,基礎設施的迭代提效10倍以上。

其次,透過ServiceMesh可以實現靈活流量控制,所有的限流、熔斷由ServiceMesh接管,不需要業務改造,節約了大量的預案研發成本和SDK的接入成本。目前ServiceMesh已經覆蓋了支付寶100%核心支付鏈路,具有百萬級別的容器規模,峰值千萬QPS。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

線上全鏈路壓測技術的演進

壓測是極其重要的容量驗證手段,我們剛才講到的所有方法,都是不斷在提升容量擴充套件的能力。但是也非常需要一個非常好的手段去驗證容量是否符合預期,線上的全鏈路壓測技術就變得非常關鍵。

傳統的壓測技術有很多問題,主要體現在傳統的區域性單鏈路壓測不完整,它是以單業務壓測為主,資料庫層面不好壓測,網路層面也不好壓,無法有效模擬真實業務的情況。此外,傳統線下壓測、模擬壓測、線上單機引流壓測的準確度不高,也沒有準確評估資源情況。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

對於整個線上全鏈路壓測來說,我們主要有以下幾個要點:

  • 核心鏈路分析,建立使用者端到端的行為模型。透過大資料技術,基於大促的使用者行為和後端鏈路,構建端到端的流量模型,用來驗證全鏈路壓測的充分度
  • 壓測環境複用生產。透過資料訪問代理,把壓測資料導到鏈路上去,不影響正常業務資料,結果是很可靠的。
  • 壓測效能分析診斷。壓測過程中,如果遇到問題,可以快速定位問題,並診斷給出最佳化建議。典型的包括網路診斷(網路質量、頻寬)、應用診斷(記憶體、CPU熱點、執行緒)、資料庫診斷(慢SQL、CPU、記憶體)、基礎設施(容器、程式)以及全鏈路診斷(診斷 分散式鏈路中的瓶頸點)。
  • 基於過去這麼多年的積累,我們在全鏈路壓測上的模擬度超過了99%,最近幾年的雙11大促都是0 重大故障,0資損。

智慧監控技術

儘管前面做了很多事情,但是對於一個複雜的業務來講,線上系統不可避免會出現問題,所以怎麼快速發現問題、快速應急、快速恢復起來就變得非常重要。

面對大促峰值的情況下,監控碰到的挑戰也是巨大的。在大促日誌規模流量下,每秒日誌量可能達到幾百G,清洗流量可能每分鐘達到幾十個T,怎樣有效處理這些日誌非常關鍵。

螞蟻自研的時序資料庫引擎Ceresdb,透過最佳化採集技術和流式計算引擎,可以基本做到秒級監控,實現1分鐘發現、5分鐘定位、10分鐘恢復,確保線上時間的快速應急和響應。

1分鐘發現:故障在1分鐘內被發現,干係人被引入故障處置流程。
5分鐘定位:在5分鐘內響應故障出現原因,並制定止血方案。
10分鐘恢復:10分鐘執行完畢止血方案,故障恢復。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

2021雙11節能減排

2021年雙11,我們從關注峰值、關注流量,重點轉向了綠色計算,既考慮成本也考慮效率,確保技術可持續性。我們透過一系列包括在離線混合部署技術、雲原生分時排程和 AI彈性容量等創新技術手段,實現了整體資源各種排程,規模化應用綠色計算,節約了64萬度電,碳減排394噸。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

前面講了很多保障系統穩定性的技術能力和方法,但對於每個組織來說,從頭打造這些能力和體系,需要花費很長的週期,也需要做很多複雜的工作,為了更好幫助各行各業實現數字化升級和轉型,螞蟻集團也在積極大力推動相關能力的科技開放。

原生分散式資料庫OceanBase

接下來,我們來看一個重要的產品——OceanBase。OceanBase內部經過9年雙11的驗證,有非常多應用經驗,也很成熟穩定。OceanBase作為原生分散式資料庫,具有無線擴充套件、永遠線上的能力,保障資料不丟失,30秒內實現自動容災恢復。OceanBase適用於各種大型場景以及對業務連續性要求高的行業,對於強一致性、高可用、高HTAP效能要求的行業也非常適用,目前在金融、政府、運營商、交通、能源等行業已經有很多成功實施的經驗。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

金融級分散式架構SOFAStack

同時,我們也對外開放了SOFAStack雲原生科技產品,把單元化架構、服務網格Service Mesh、全鏈路壓測、監控應急體系通通打包在一起,將螞蟻十多年技術能力經過產品化,實現成為成熟的商業化產品和服務。目前已經服務幾百家客戶的核心業務系統,我們希望透過這些努力,能夠幫助各行各業更好實現數字化升級和轉型。

如何保障系統穩定性並實現綠色減排?螞蟻集團有這些關鍵技術

今天我就分享到這裡,感謝大家!