抗住百萬級流量並發,快手 + 阿里雲混合雲彈性調度系統的建設之路

2023-10-25     InfoQ

原標題:抗住百萬級流量並發,快手 + 阿里雲混合雲彈性調度系統的建設之路

快手 APP 是一款用戶量極大的短視頻應用。目前平均日活躍用戶達 3.76 億,平均月活躍用戶達 6.73 億,累計互關用戶對數超過 311 億對,日均互動(包括點贊、評論和轉發等)總量達 80 億次。為了支撐如此龐大的用戶規模、業務量級,快手建立了多個龐大的數據中心,海量的伺服器集群來承載每日數億用戶的訪問。

快手技術面臨的挑戰,除了用戶規模龐大帶來的分布式架構的複雜性,更大的挑戰來自於直播間秒殺場景,瞬時海量用戶的搶購併發極高。直播是快手技術挑戰最大的場景,而快手直播電商的秒殺活動為之最,具有並發量大、要求極高的特點。在秒殺活動期間,大量用戶會同時訪問快手的電商平台,對系統的並發處理能力提出了極高的要求。對於上億粉絲的大V直播間秒殺期間,單件秒殺商品可能達到數百萬件,單品最高秒殺請求達每秒百萬次,下單交易鏈路系統同時支撐每秒百萬次的並發。從下圖可以看出,大V直播期間的秒殺尖峰與日常相比,提交訂單接口的峰值流量是日常的90多倍。

為了應對並發量極高的秒殺場景,快手採用了如下圖所示的分布式系統架構、負載均衡技術、緩存技術、消息隊列、服務限流排隊、熱點緩存優化等技術手段,以提高系統的並發處理能力和擴展性;在數據中心能力上,提高伺服器的處理能力和可靠性,以確保系統的穩定性和可用性。此外,還加強對系統的監控和運維,及時發現和解決問題,確保系統的高可用性。同時,也不斷優化系統的性能,提升用戶體驗和滿意度。

為了解決大促秒殺尖峰時刻的資源不足問題,快手建立了彈性容器雲能力。快手的彈性容器雲平台基於 Docker 建設的平台,它能夠根據業務需求自動擴展和收縮容器實例,以滿足高並發和大流量場景下的業務需求。通過使用彈性容器雲,快手可以在大促秒殺期間快速擴展容器實例,以應對突然增加的流量和請求。當流量和請求減少時,彈性容器雲又可以自動收縮容器實例,以節省資源成本。這種彈性伸縮能力可以幫助快手更好地應對業務的突發變化,提高系統的可靠性和可用性。彈性容器云為快手解決大促秒殺期間的彈性伸縮問題提供了有力的支持。

圖:全量使用自建 IDC 資源的電商業務架構

為了應對峰值,快手容器雲平台構建了快手 IDC+ 阿里雲的混合雲架構,通過專線打通雙方網絡互聯互通,利用阿里雲豐富的產品能力和彈性優勢進行業務「削峰填谷」。阿里雲計算資源具備快手彈性和庫存優勢,為快手容器的彈性和擴展提供了強有力的支持,從而更好地應對峰值,滿足高並發和大流量場景下的業務需求。

在擴展公有雲資源的過程中,會基於時延和容災域將相應公有雲上不同可用區資源合入到快手內部不同可用區內,並優先將非高頻訪問緩存類的服務擴容到公有雲機房,以優化業務性能。當發生單可用區的故障時,可通過可用區級的快速切流來完成業務恢復。同時為了加速業務的啟動耗時,在公有雲機房建立了鏡像倉庫緩存節點,結合 p2p 鏡像下載機制,顯著加速公有雲上的容器實例的啟動速度。

圖:啟用彈性混合雲資源的電商業務架構

其中的混合雲調度平台,通過打通預算管理、容器資源運營及資源交付等多平台,實現了混合雲彈性資源的快速交付,滿足業務突發流量的算力資源訴求。整體過程中實現了如下平台能力:

  • 彈性雲伺服器資源快速納入容器集群:可實現 10 萬核計算資源 30 分鐘內接入快手容器雲並達到業務可用狀態;
  • 快手自建機房與公有雲機房資源通過容器集群統一納管:提供一致化的算力交付,業務側不感知底層資源差異;
  • 智能化的資源調度策略:平台統一託管資源分配策略,突發流量所需要的業務擴容優先使用雲上資源,活動結束縮容優先退還雲上資源並自動下線主機;

智能化的資源調度策略:平台統一託管資源分配策略,突發流量所需要的業務擴容優先使用雲上資源,活動結束縮容優先退還雲上資源並自動下線主機;

圖:混合雲彈性資源交付流程示意圖

據了解,阿里雲已經連續十來年保障了天貓雙 11 的平穩運行,扛住了零點過後的流量峰值,阿里巴巴業務 100% 運行在阿里雲上。那麼,快手容器雲+阿里雲的組合模式是否能經受住另一個大促考驗呢?

在 2023 年某大 V 大促活動中,快手電商為了應對大 V 秒殺峰值的資源計算需求,快手的彈性容器雲快速利用以上打通阿里雲的系統,進行了峰值資源的擴容,擴充總量級達到數萬核 CPU,將下單的峰值吞吐能力提高了 1 倍,秒殺期間實際峰值流量達到每秒百萬次請求,系統各項指標穩定,系統 100% 可用,阿里雲順利通過了快手大促考驗,可以平穩支撐快手頂流大 V 大促直播。下圖中峰值的請求,即為通過阿里雲彈性資源應對的峰值計算資源,解決了短時間內快速彈性擴容、峰值結束後快速縮容的問題,既提高了系統應對峰值的快速伸縮、系統穩定性、高並發訴求,又能大大減少資源的持有成本。

通過【快手容器雲 + 阿里雲】的技術深度結合,在【快手電商直播秒殺】場景下的大規模首次應用,也論證和驗證了快手彈性容器雲能力在應對高峰彈性上的實際效果,也為快手未來藉助阿里雲解決資源成本優勢、快速擴縮容提供了堅實的基礎,為快手引領直播電商技術的趨勢提供了有力的支持。

快手在直播電商技術方面的不斷創新和引領,為行業的發展和變革也帶來了重要的意義。快手電商直播,應用彈性容器雲 + 阿里雲的混合雲模式應對秒殺,不僅對於快手自身具有重要意義,也為整個行業帶來了積極的影響。它引領了直播電商技術的發展趨勢,為其他企業提供了借鑑和啟示。未來,隨著技術的不斷進步,快手將繼續發揮技術優勢,為用戶帶來更好的購物體驗。

「MySQL 之父」的 MariaDB 要完蛋了?叫停兩款核心產品並裁員 28%,分析師:該行為無異於自毀長城

劍指 Kubernetes!微軟發布開源平台 Radius:高效構建、運行雲原生應用程式

前端根本不需要構建!「技術邪教」 Ruby on Rails 之父再出激進言論引爭議

大模型時代下的技術變革:訓練、負載、部署、效率、安全……都遇到了新挑戰?

文章來源: https://twgreatdaily.com/zh-cn/a3d6cf50ae19512ed06be816fcaf2506.html