支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石

京東雲技術新知發表於2020-11-18


支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石


京東智聯雲作為京東集團技術保障的基石,在11.11期間,雲資料庫扛住了京東物流和京東零售核心業務系統PB級別的資料增長壓力,是2020年618期間訪問峰值的 258%。截至11月12日凌晨,京東11.11累計下單金額超 2715億元,同比2019年增長 33%

 

面對每年京東618、11.11訂單量和成交額迅猛的增速,京東智聯雲資料庫作為大部分京東背後業務系統的技術保障,面臨較大的挑戰。本篇文章將分享京東智聯云云資料庫部門如何在11.11期間保障大促突增資料壓力的穩定性與安全性,同時介紹有哪些技術手段為大促期間的京東海量訂單保駕護航?

支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石

京東對使用者每一筆訂單的生命週期流程 (商品搜尋-選購-加購物車-下單)都需要實時響應,尤其是在商品下單環節。11.11大促期間受商品活動和優惠時間的影響,使用者下單高峰往往在固定時間段,比如零點後是一個小高峰。面對集中時間段內訂單量突增,QPS是平時全天總量的 30-50%,同時又要保證使用者訂單生命週期及其查詢操作的實時性,京東採用雲資料庫JCHDB作為資料分析保障的技術基石。


分析型雲資料庫JCHDB是京東智聯雲基於ClickHouse打造的聯機分析(OLAP)服務,採用分散式架構,可實現多核、多節點的並行化大型查詢,其查詢效能比傳統開源資料庫快1 ~ 2個數量級,可充分滿足大促期間業務系統資料分析的需求。


京東海量訂單實時分析需要資料倉儲快速查詢與併發處理能力,使用者訂單生命週期資料實時消費kafka訊息,流經flink再寫入到JCHDB叢集,該場景需要既保證資料分析的實時性,又要保證叢集的效能,查詢響應時間不變。JCHDB對批量資料寫入支援的寫入速度大約為50-200MB/s,但訂單實時分析往往是頻繁小批量寫入,對叢集的ZooKeeper節點不太友好。雲資料庫 通過優化ZooKeeper的JVM引數及雲盤的併發度使使用者高頻率小批量寫入,在JCHDB叢集上穩定執行。

 

在使用者實時寫入的場景中,會偶發出現資料寫入速度過快,資料合併(merge)不及時,造成寫入頻繁失敗。雲資料庫團隊 優化了對JCHDB叢集的寫入操作,在能夠滿足實時查詢效能不變的前提下,儘可能地大批量低頻次寫入,充分發揮叢集的高效能優勢。同時也對叢集的引數進行調優,在業務系統壓力較大時也可以能夠很好地為其服務,提高了系統整體的穩定性。

 

JCHDB對海量實時訂單資料分析整體流程圖如下:


支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石


支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石

京東智聯雲資料庫團隊需要在11.11期間平穩支撐京東集團已經上雲的上千個核心業務系統,抵抗大促期間百萬QPS、PB級別資料壓力。前期的預案准備和壓測、預案演練和實時監控都是必不可少的環節。11.11大促期間需要雲資源可按需擴容,完備的業務降級預案,以應對突如其來的業務壓力。

 

每年11.11期間大促備戰都是京東集團各部門通力合作的關鍵時刻,根據618經驗,11.11期間大促備戰共分為8個步驟:


(1)識別保障範圍;

(2)業務量預估及預檢查;

(3)預案整理;

(4)監控及報警梳理;

(5)業務壓測;

(6)預案演練;

(7)11.11值班;

(8)技術覆盤。



 

大促備戰8步流程圖:


支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石

預案整理是雲資料庫保障11.11期間海量資料穩定和安全的重要環節,雲資料庫RDS通過服務高可用架構、自動故障切換、彈性擴容機制等一系列資料庫級別的技術手段,保證11.11大促期間有一定的預案和響應機制,保證 資料可備份,故障可切換,增量可擴容,從容應對大促期間海量資料壓力,客戶只需要關注業務本身的增長而不需要擔心資料運維與業務壓力迅猛增長帶來的煩惱。

 

資料可備份:京東智聯云云資料庫採用高可用架構,支援單可用區、多可用區兩種部署方式。單可用區部署在建立時,通過反親和性保證主備不能同機架,避免單機架故障導致例項不能訪問的問題。多可用區部署,將網路延遲降低到2毫秒內保證備庫複製的及時性。自研的哨兵系統支援動態擴充套件,可承載海量例項監控服務,通過http和tcp等多種協議對心跳上報異常的例項進行探測訪問,在滿足多數哨兵節點投票的情況下進行客觀下線發起自動高可用流程。

 

雲資料庫高可用架構示意圖:


支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石


故障可切換:高可用架構另一個優勢是可以做到故障秒級切換。當雲資料庫管理節點收到哨兵系統發來的自動高可用請求,對故障例項再次探活,從使用者子網、管理網兩個方面進行連通性確認,確保主庫真實下線後開始故障切換。為保證資料完成性首先會將備庫回放日誌應用完成,然後切換vip後面的target ip,使得服務可以在短時間故障後繼續訪問。同時系統會自動建立一個新的備庫保證高可用架構。

 

雲資料庫故障自動切換處理流程:


支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石

增量可擴容:京東智聯云云資料庫團隊和雲盤團隊深度合作,將讀寫效能進行調優,充分利用雲硬碟特有的彈性擴充套件和增量快照技術,將資料庫擴容變得簡單高效。使用雲硬碟的例項可在3~5分鐘內擴容到任意儲存空間。使用本地盤的例項,支援原地垂直擴容,通過線上熱擴充套件的方式秒級生效,滿足使用者擴容需求。

 

雲資料庫基於雲盤擴容示意圖:


支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石


支撐2715億元海量訂單 揭祕京東大促背後的資料庫基石

京東智聯云云資料庫部門在11.11期間不僅支援了大促訂單實時海量資料的訂單與資料分析,更有一系列標準化方案和完備的技術備戰流程支撐11.11期間海量資料和業務的挑戰。今年11.11“開門紅”期間,雲資料庫整體QPS峰值達到 502.4萬次/秒,資料流量峰值 1183Gbps,京東智聯雲扛住了流量洪峰,保障了大促期間各業務系統平穩執行。

 

京東智聯云云資料庫提供了從建立、配置、擴容、監控報警、效能分析等一站式資料庫服務,實現了從自助運維到自動運維的轉變, 支撐了京東零售、京東物流、京東AI,京東健康等海量的核心業務,並通過一系列標準化的方案和備戰流程應對大促期間峰值資料流量和業務壓力的挑戰。同時,京東智聯云云資料庫具備的服務高可用,資料高可靠,線上彈性伸縮等特性可滿足使用者突發的峰值壓力和苛刻的業務場景,歷經多次大促考驗,是企業上雲的不二之選。





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912185/viewspace-2734875/,如需轉載,請註明出處,否則將追究法律責任。

相關文章