更快、更穩、更優,揭秘火山引擎全站加速 DCDN 規模容器化優秀實踐
在數字化轉型的浪潮與5G技術快速進步的推動下,短視頻、電子商務、在線支付等業務迅速增長,帶來了對全站加速服務需求的顯著上升。為了更好地服務用戶、提高體驗,傳統的全站加速服務正遭遇資源分配、運維效率、穩定性和成本控制等多方面的挑戰。隨著邊緣計算的迅速發展,憑借其彈性可伸縮、自動化交付、安全性與穩定性等創新特性,為解決這些問題提供了新的途徑。因此,火山引擎邊緣云技術團隊利用邊緣計算的云原生技術優勢,將全站加速 DCDN 業務轉移到邊緣計算平臺,推動了全站加速 DCDN 服務的一次重大創新升級。
經過一年的改造遷移,火山引擎全站加速 DCDN目前已將 90% 的流量轉移到邊緣計算容器平臺。面對發展中的挑戰,全站加速 DCDN 不僅積極應對,還在持續加強容器平臺的調度效率、算力、存儲和網絡等關鍵能力,確保為抖音集團內部和各行業客戶業務提供穩定、高效且極具性價比的加速服務。
本文將基于全站加速 DCDN 與邊緣計算的關系以及容器化過程中面臨的挑戰,分享火山引擎全站加速 DCDN 在邊緣計算容器平臺規模化落地的實踐。
1.全站加速 DCDN 和邊緣計算
火山引擎全站加速 DCDN 提供 http/https 動態及動靜態混合內容的加速服務,利用豐富的網絡資源,結合自研的傳輸優化、智能緩存、動態路由、安全防護等能力,為用戶提供安全、穩定的一站式加速服務,提升用戶訪問體驗。通過抖音集團業務和規模化 ToB 業務的打磨,火山引擎全站加速 DCDN 已形成了一套完善且具備規模商業化能力的系統,并在全球具備 2500+ 節點,可以提供億級 QPS 的全網并發能力。
邊緣計算是分布式計算架構,在靠近用戶終端的地方部署基礎設施資源,將算力、網絡、存儲等下沉到邊緣,提供低時延、高帶寬的服務能力。全站加速 DCDN 節點天然具備全球多節點的分布式特性,且部署在邊緣,更靠近用戶,因此利用邊緣計算的資源,包括網絡、算力和存儲,來增強全站加速 DCDN 服務,已經成為一種必然的發展趨勢。
2.全站加速DCDN 為什么選擇容器
邊緣計算提供裸金屬,虛擬機和容器三種不同的計算資源。火山引擎全站加速 DCDN 對三種計算資源進行了對比。
類型 | 優勢 | 劣勢 |
裸金屬 |
|
|
虛擬機 |
|
|
容器 |
|
|
容器具備的資源輕量級、彈性擴縮容、部署高效等特點更符合業務需求,也可以更好的提升資源利用率,最終全站加速 DCDN 選用容器作為計算資源來進行業務遷移。
全站加速 DCDN 容器化可以解決傳統 DCDN 存在的資源、業務、穩定性、成本方面的問題:
- 異構管理:通過容器化可以解決不同機型、不同資源類型帶來的異構管理問題
- 活動突發:活動突發資源擴容周期長、效率低,通過容器化彈性伸縮解決活動帶來的突發資源問題
- 業務穩定:混部資源搶占,故障域耦合時,可以通過容器做業務拆分,實現資源和調度域隔離
- 成本優化:通過小規格容器化,可以提升資源的售賣率和碎片化資源的利用率
除此之外,全站加速 DCDN 容器化能對容器的平臺、計算、存儲、網絡等能力進行全方位的打磨優化,同時可以將全站加速 DCDN 節點上多余的算力、帶寬、存儲等資源釋放出來進行售賣,提升資源利用率,對業務來說實現了雙贏。
3.技術挑戰和解決方案
全站加速 DCDN 現網改造需要容器兼容現有的平臺架構,滿足全站加速 DCDN 側的需求,包括:
通過 Kata+富容器,來實現 systemd 管理、ssh 登陸,同時具備安全隔離、協議棧優化能力;
通過 Ceph 和 Spdk ,讓存儲支持本地盤/云盤能力;
通過虛擬網卡,支持獨立 PIP,具備出公網能力;
通過 LB4 EIP 透傳能力,使全站加速 DCDN 具備 LB4 多 EIP 服務能力等。
此外,全站加速 DCDN 容器化過程中還存在很多技術挑戰。面對這些挑戰,團隊不斷進行探討,針對性地提出解決方案。
3.1通過富容器+ kata ,實現獨立協議棧隔離
傳統容器作為獨立的運行環境,缺少 systemd 進行容器內部的進程管理,原有的業務運維體系依賴 crond、sshd 等服務。全站加速 DCDN 側需要有獨立的協議棧來進行協議棧傳輸優化,同時需要安全隔離的環境。為解決這一挑戰,最終團隊決定采用富容器+ kata 的方案,實現獨立協議棧隔離、減少對運維體系的侵入,保持原有的運維體系。
3.2 EIP 直通模式兼容 LB 轉發模式,解決流沖突問題
全站加速 DCDN 接入調度的負載均衡主要由 DNS 負載均衡實現,這種情況下每個節點會存在多個 EIP 來做接入,公有云的 LB 在不侵入用戶主機的情況下,會通過 overlay 封裝來進行轉發,但在某些特殊的場景下,同 CLIENT:CPORT 可能會和不同的 EIP:EPORT 通信,如果轉發到后端遇到相同的 RIP:RPORT 就會出現流沖突的問題。為解決這一挑戰,最終團隊決定通過 EIP 直通的模式兼容原有全站加速 DCDN 的 LB 轉發模式,LB 和后端通信的時候,DSTIP 直接使用 EIP 而非 RSIP,同時在 RS 上監聽 EIP,這樣就解決了流沖突的問題。
3.3調度親和性,解決 CPU 負載不均問題
在同集群發現不同機型服務器 CPU 表現不一樣,這會帶來負載不均的問題。為解決這一挑戰,團隊決定通過調度親和性,保證同集群內調度的 node 機型保持一致,解決機型代差導致的 CPU 不均。容器 CPU 之前是使用 defaultCpuSet 中的核,以來時間片調度,會造成和其他控制面組件的爭搶,所以容器 CPU 需要單獨設置 CPU 核,同時 vcpu 和物理 cpu 做綁定,避免其他業務的影響。
3.4三大舉措提升穩定性
全站加速 DCDN 容器化過程中,通過以下方式來保障業務穩定性。
故障遷移和熔斷:支持集群內宿主機故障時 pod 自動遷移,同時為防止大規模刪除容器,需要具備中心熔斷機制,容器平臺通過引入"風控策略",可以保證一定時間范圍不允許刪除超過一定節點的 Pod,從而避免大規模故障發生,同時在邊緣 k8s 異常或者通信失敗的時候,邊緣集群內具備邊緣自治能力,保證現有業務穩定運行。
故障恢復:如果熔斷異常,出現大規模刪除容器,那就需要具備快速恢復的能力,容器實例通過建立快照能力,并且通過快速恢復工具,可以在真實發生大規模刪除 Pod 時,實現對全網刪除 Pod 的快速恢復。
調度聯動:結合全站加速 DCDN 側質量探測結果,全站加速DCDN 調度系統會自動感知節點健康狀態,異常情況下會自動將節點主動摘除。
4.全站加速 DCDN 規模容器化實踐效果
全站加速 DCDN 容器化改造過程持續了一年,目前全站加速 DCDN 90% 以上的流量已經在容器平臺上平穩運行。全站加速 DCDN 容器化為業務帶來了直觀收益:
提升資源配置效率:容器的彈性調度能力有效應對了春節活動、雙 11 和雙 12 等特殊時期帶來的突發資源問題,顯著提升了資源配置的效率,將從前以月為單位的資源籌備時間縮短至一周以內。
規避系統性風險:通過全站加速 DCDN 容器化,隔離了故障域,規避了一次大規模系統性風險以及減少了 90% 的資源爭搶問題。
提升上線效率:容器化部署后,通過鏡像打包,節點的上線效率提升了 80% 以上。
提升資源售賣率:通過小規格容器提升碎片化資源利用率,邊緣資源售賣率提升 11%。
5.未來展望
全站加速 DCDN 容器化幫助解決了很多傳統 DCDN 存在的痛點問題,也取得了相應的收益,下一步火山引擎全站加速 DCDN 團隊將繼續協同邊緣計算,在以下方面進行更深的合作:
邊緣統一調度:通過統一調度,對算力,存儲,以及帶寬統一分配,實時感知全站加速 DCDN 算力和帶寬使用情況,做到算力彈性流動調度,提升資源使用率。
安全防護:依托邊緣大規模分布式資源,提升 WAF ,抗 DDoS 攻擊能力,通過流量檢測、流量清洗及黑洞等手動方式,遠源攔截,保障源站穩定性。
算力卸載:通過智能網卡,ssl 卸載等能力,卸載算力,提升算力綜合處理能力。
全球網絡互聯:通過全球網絡互聯,云邊專用網絡,提升內部管理通道,數據回傳穩定性,提升內部網絡加速性能。
END
采納邊緣云原生技術將為全站加速 DCDN 帶來顯著的競爭優勢,在構建一個高效、穩定、可靠且具備良好可擴展性的現代化加速網絡過程中,邊緣云原生與全站加速 DCDN 的聯合應用將發揮越來越關鍵的作用。面向未來,邊緣云原生與全站加速 DCDN 會不斷進行深度融合,將為網絡技術的發展帶來更多可能性,并推動行業達成新成就。