快手數據服務大型活動保障體系建設

背景

快手數據服務化平臺(代號 Havok)是數據賦能業務的出口,當前服務於直播、電商、商業化等核心業務。數據服務面臨着請求流量大、數據延遲低、穩定性高等挑戰,尤其在大型活動面臨的挑戰更加突出。數據服務化平臺從服務隔離、鏈路分級、容錯建設、全面監控、流程預案等方面建設了全方位的服務保障體系,零故障支持了公司大型活動的數據服務化場景。本文重點介紹了兩個方面:第一,快手數據服務化平臺介紹;第二,數據服務保障體系建設方案。

快手數據服務化平臺

傳統數據服務開發痛點

數據是支撐業務發展的重要因素,而這其中數據賦能的主要方式之一是以服務的形式提供給業務。傳統開發流程涉及多個步驟,包括業務提出數據訴求,DE(數據工程師)開發出對應數據資產表,以及將數據表包裝成微服務提供給業務方來使用。

圖 1:數據開發流程

傳統數據開發模式,存在多個問題:

1,開發門檻高:對於數據同學,不僅要求掌握使用大數據技術(Spark、Flink)來開發數據表,還要求熟悉高性能微服務建設;

2,開發成本高:開發微服務功能多,流程多,時間成本高;

3,煙囪式建設:不同業務間的數據訴求,容易演化出重複建設的情況;

圖 2:傳統數據服務開發問題

一站式自助數據服務平臺

基於上述問題,快手提出了 Havok 平臺,它是一站式自助數據服務平臺,以達到提效目的。該平臺能夠幫助用戶零門檻創建、管理和運維 API 數據服務。它採用了 “配置即開發” 的設計理念,允許用戶通過配置化方式生成 API 數據服務,用戶只需根據自己業務邏輯配置 API 而無需編寫任何代碼,其他技術相關複雜實現,包括數據服務代碼生成、數據服務部署、緩存管理、服務降級、服務權限管控等均由平臺完成。Havok 平臺真正實現了“數據複用而非複製”,也大大降低了 API 服務創建門檻,提升了 API 服務開發效率。

圖 3:一站式自助數據服務平臺

圖 4:Havok 平臺技術架構

高可用保障體系建設

高可用保障挑戰

Havok,相比於普通的服務保障,有較大差異,面臨的挑戰難點也大相徑庭。Havok 作爲生產服務的平臺,面臨的挑戰點如下:

  1. 服務繁多:平臺量級很大,本身承載了數以千計的、不同種類的服務,總 QPS 達到千萬級;

  2. 業務重要:絕大部分業務是在線業務,直接影響直播、電商、廣告等,這類場景對於服務本身可用性要求非常高;

  3. 外部依賴:外部依賴衆多,整體風險指數倍增,容易因爲依賴問題造成服務雪崩的情況;

  4. 特殊保障:業務保障要求存在 “千人千面” 的情況,需要平臺提供定製化保障的能力;

高可用保障方案

鑑於上面所述的挑戰,快手提出了整體解決方案,由事前積極預防問題、事中及時發現問題(故障)、事後迅速解決問題(止損)等多個維度組成:

圖 6:保障體系建設方案

關鍵保障能力

分級隔離

快手數據服務業務要求不同業務之間不能互相影響,並且同一個業務內不同優先級的任務也不能互相影響。因此 Havok 按照業務 + 優先級(高中低)組合粒度進行劃分服務艙位,進行硬隔離。此外同一個艙位內的多個服務可混合部署,即爲軟隔離,以提升服務資源整體使用率。

圖 7:分級隔離(硬隔離、軟隔離)

彈性服務

Havok 平臺,依託於容器雲,可動態根據服務負載水位進行伸縮。此外數據服務都是輕量級 “虛擬” 服務,可動態進行熱部署,以及動態熱遷移,從而更加靈活控制整體服務艙位負載水位。

圖 8:彈性服務

鏈路分級

Havok 平臺,對服務鏈路進行分級,劃分爲核心鏈路以及次要鏈路。核心鏈路要求高可用高保障,並且依賴要少,減少風險。次要鏈路則有較多外部依賴,可允許發生故障風險,但是要有完善的降級方案,並且不能影響核心鏈路。針對核心鏈路以及次要鏈路,Havok 平臺沉澱了通用的容錯策略,賦能給所有的 API 服務,其中通用策略包括指數退避重試、降級服務節點、託底數據等。

圖 9:鏈路分級

容災能力

爲了做到較好的容災能力,Havok 平臺引入了多種策略,分爲服務容災和數據容災。服務容災,確保服務本身一直可用,具體包括多機房建設、存儲集羣主備建設、異構存儲集羣冷備等手段。異構存儲集羣冷備,能做到某一種類型存儲不可用的情況下,可將數據切換到其他類型存儲介質中,從而提供降級的線上請求訪問能力。數據容災,包括引入數據質量檢查,以及數據多版本(通過控制版本指針快速切換,以恢復到健康正確的數據版本),從而確保業務訪問到的數據的正確性。

圖 10:容災建設

限流降級

下圖梳理了 Havok 平臺全鏈路,並且在每個環節都設置了相應限流降級手段,來應對活動期間異常情況,如搶紅包的瞬間流量衝擊。客戶端引入了可視化配置限流方案,支持多種限流策略。服務端引入請求採樣和管控異常請求,提高可用性。外部依賴側引入一鍵降級,不影響主調用流程。數據寫降級,減少存儲壓力,從而使得存儲更好處理線上實時讀請求。

圖 11:限流降級

總結展望

圖 12:零故障支持大型活動

Havok 平臺零故障支持了重要大型活動,包括春節、元旦、電商節等。保障的核心服務數達到 100,QPS 達到 200W。平臺已經沉澱了多種保障能力,不管是已經存在的數據服務,還是將來創建的 API 服務,都可複用平臺能力,避免重複進行保障建設,爲公司節省了大量人力成本。

圖 13:智能化高可用保障建設

未來 Havok 平臺會朝着不斷沉澱通用能力的方向前進,未來活動保障也會基於日益豐富的平臺來開展,能夠以更小的付出獲得更大的成效;活動中涉及的臨時保障手段也會不斷提煉、抽象、並且沉澱到平臺本身。未來平臺保障體系建設會更加智能化、自動化,從而將平臺本身可用性帶到新高度。

作者簡介:倪順,曾就職於 Hulu,從事視頻領域大數據研發工作,包括視頻播放質量的數據建設以及基於數據驅動的播放體驗提升。目前就職於快手,從事數據中臺領域工作,主要負責大數據服務化基礎平臺建設。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/Lf192aYPyqtLgBDww3D26Q