網易數帆如何實現高性能四層負載均衡的改造與優化?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在《"},{"type":"link","attrs":{"href":"http:\/\/mp.weixin.qq.com\/s?__biz=MzIzNjUxMzk2NQ==&mid=2247498368&idx=1&sn=5879f710c59df7f40dfe710f3764dd0e&chksm=e8d40542dfa38c549739e89f9fe25b5eb93843150a434dcf9f83f614542e845d4e9cbed1f0d0&scene=21#wechat_redirect","title":null,"type":null},"content":[{"type":"text","text":"網易數帆基於 DPDK 的高性能四層負載均衡實踐"}]},{"type":"text","text":"》一文中,我們介紹了網易數帆四層負載均衡對 DPVS 項目在雲化網絡場景設計和資源隔離等各方面增強的深層思考,本文再通過網易數帆在 DPVS 項目上所進行的大量功能開發和優化實踐,講述網易數帆在負載均衡的高性能和監控運維增強方面,如何實現我們的負載均衡組件的改造和優化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於負載均衡組件來說,DPVS 這套基於 DPDK 加速的方案,其遠超依賴 Linux 內核的軟件(如 HAProxy,LVS)的高性能,相比於純硬件(如 F5)的性價比和靈活性,相比於通用組件(如 OVS)的專業性,都是網易數帆將其作爲基礎進行改造實現與自身雲計算業務匹配的高性能解決方案的充分理由。我們基於此實現了單臺極限性能千萬級併發、百萬級新建連接的高性能負載均衡組件,大大減少了負載均衡的設備資源消耗,增強了系統穩定性。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"高性能四層負載均衡的改造優化"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先具體講述一下我們對 DPVS 方案的改造之路:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從功能上講,DPVS 提供了大多數的四層負載均衡所需要的功能,其繼承於 LVS 的負載均衡框架也使其穩定性有較好的保障。但對於雲化場景來說,它還缺少了雲化網絡 tunnel(vxlan)的封裝 \/ 解封裝,VIP 級別的 QoS 服務,6to4 快速轉發路徑的支持,更多防護和資源配置優化,以及很多監控運維手段的豐富。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從架構上講,master 核上承載了控制命令下發處理和 kni 通道兩大功能,kni 通道有 BGP 流量,和健康檢查流量,命令下發和 kni 通道兩者形成了強烈的性能和穩定性制約,大大降低了系統的穩定性,所以分核處理兩種事務纔是更優的選擇。而且健康檢查方案我們使用了自研的健康檢查程序,通過 kni 通道後,與業務流量走過的路徑相同的解決方案,最大限度地保證健康檢查的準確性。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從性能上講,DPVS 上下行同核的獨立的流量無鎖化模型,其性能已經在 bps、pps、新建連接能力、併發能力各方面都有很突出的表現,但是其原有 tunnel 路徑有點長且重複,全局 rte flow 規則相比 FDIR 更方便且功能更多,新建連接能力方面也仍有進一步優化提升的空間,並且內存佔用方面也有相當大的優化空間,並且 qos 模塊的性能優化也花了不少功夫。"}]}]}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"VIP 級別的 QoS 服務"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章