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