您好,登錄后才能下訂單哦!
2021網(wǎng)絡(luò)系統(tǒng)流行架構(gòu)有哪些,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
2021年了,看看網(wǎng)絡(luò)系統(tǒng)的流行架構(gòu)。
系統(tǒng)的質(zhì)量屬性要滿足客戶需求,所以架構(gòu)的第一出發(fā)點(diǎn)也是需求。
有偏好的需求構(gòu)成場景,架構(gòu)的取舍就是基于應(yīng)用場景的偏好。
網(wǎng)絡(luò)系統(tǒng)在管道的位置,大致分為兩類:
純軟件實(shí)現(xiàn)上的需求主要是犧牲一些硬件的高性能,換取管理和維護(hù)的方便和統(tǒng)一,如SDN,NFV。
目前為了融合硬件與軟件,一般都采用x86的架構(gòu)配合高速可編程的NIC和轉(zhuǎn)發(fā)芯片(如支持P4)。
以獲得性能與管理的雙重優(yōu)勢。
但本質(zhì)還是矛盾,硬件的特殊化就會(huì)帶來管理的特殊化,具體問題需要具體討論解決,不展開。
智慧型:內(nèi)容感知,以業(yè)務(wù)驅(qū)動(dòng)的負(fù)載均衡和網(wǎng)關(guān)系統(tǒng)為主。如負(fù)載均衡,API網(wǎng)關(guān)等,主要靠軟件,今天重點(diǎn)說一下2021年軟件上的流行架構(gòu)。
因?yàn)閮煞N類型沒有明顯分界,但內(nèi)容感知程度是有的,業(yè)務(wù)驅(qū)動(dòng)的網(wǎng)絡(luò)系統(tǒng)在互聯(lián)網(wǎng)行業(yè)需求很大。
所以網(wǎng)絡(luò)基礎(chǔ)架構(gòu)軟件化不僅僅是管理統(tǒng)一的問題,還有具體業(yè)務(wù)的問題很難在通用設(shè)備上完美解決。
軟件實(shí)現(xiàn)雖然性能不行,但其靈活性和對硬件的解偶帶來的收益是大于性能收益的,其橫向擴(kuò)展能力也彌補(bǔ)了全局性能。收益主要體現(xiàn)在迭代迅速(需求滿足的速度),硬件統(tǒng)一,部署靈活,運(yùn)維簡單。所以暫時(shí)將引入硬件解決單點(diǎn)性能問題作為第二考慮的因素。
我們一層一層來說。
2021年eBPF打底應(yīng)該沒有爭議吧,對比以eBPF實(shí)現(xiàn)的XDP與DPDK,結(jié)合我們剛說過的問題。DPDK還是有Intel,DPDK網(wǎng)卡的硬件約束。而eBPF系統(tǒng)約束更小,Kernel > 4.8即可。雖然性能稍微弱一些,但可以在純Linux運(yùn)行,可以靈活在用戶態(tài)和內(nèi)核態(tài)對接,需求迭代速度也遠(yuǎn)高與DPDK。所以軟件上做傻快型可以選DPDK,但智慧型XDP更適合。
以此為基礎(chǔ)的項(xiàng)目有k8s網(wǎng)絡(luò)組件Cilium,F(xiàn)acebook的業(yè)務(wù)負(fù)載均衡Katran。
迭代和硬件說完了,我們看下部署,部署上:盒子,私有系統(tǒng),各種云。對應(yīng)也就是Metal,VM,容器等。因?yàn)橛辛薳BPF的約束,沒有操作系統(tǒng)的純Metal就不在討論范圍內(nèi),那還是傻快的方案。
各種部署下都能運(yùn)行的網(wǎng)絡(luò)就是用戶態(tài)網(wǎng)絡(luò)。XDP只要是內(nèi)核滿足的Linux,Cilium已經(jīng)證明了和容器結(jié)合,DPDK更費(fèi)勁。所以還是eBPF更有優(yōu)勢。以此為基礎(chǔ)的軟件系統(tǒng),可以安裝在任意Linux,VM,Docker上,實(shí)現(xiàn)各種環(huán)境的架構(gòu)統(tǒng)一。
未來網(wǎng)絡(luò)層應(yīng)該還會(huì)有其他XDP的用戶協(xié)議棧方案,如果不需要路由交換的網(wǎng)絡(luò)功能,可直接與應(yīng)用結(jié)合,如Katran。
Cilium解決網(wǎng)絡(luò)的問題,路由交換,簡單策略。但業(yè)務(wù)感知還需要靈活的網(wǎng)關(guān),關(guān)于網(wǎng)關(guān)的選擇我之前也研究過。
https://donge.org/posts/envoy-vs-traefik/
這里網(wǎng)絡(luò)如果選擇了Cilium(主要是容器場景),那么結(jié)合最好的還是Envoy,Evony在四層進(jìn)行業(yè)務(wù)感知,進(jìn)行業(yè)務(wù)層面的路由和網(wǎng)關(guān),有強(qiáng)大的策略配置驅(qū)動(dòng)和插件機(jī)制,也是快速迭代的優(yōu)選。
這里雖然拿了一個(gè)K8S中CNI的圖,但Cilium也可以僅作為有網(wǎng)絡(luò)路由功能的用戶態(tài)協(xié)議棧使用,也可以省略。
采用通用網(wǎng)關(guān)驅(qū)動(dòng)特定業(yè)務(wù),插件是繞不過的,平衡性能與迭代速度,Golang比C++,Lua,JavaScript,Rust都稍微占一些優(yōu)勢。因?yàn)殚_發(fā)效率和不俗的性能。
當(dāng)然WASM插件也是強(qiáng)有力的方案,只是今年來看還優(yōu)點(diǎn)早,得不償失。而且和Golang也不沖突,Envoy同時(shí)也支持WASM和LUA。
但只要不是天天變化的邏輯,Golang中庸的綜合實(shí)例還是略勝一點(diǎn)。
未來Rust with WASM也很有潛力。
為什么叫2021流行架構(gòu),因?yàn)檫^幾年也許還有更好的選擇,就如同XDP對比DPDK的優(yōu)勢,順應(yīng)了一些DPDK出生時(shí)沒有的潮流,比如容器化。
最后祭出這張?jiān)瓌?chuàng)全家福,歡迎抄襲。
以此為基礎(chǔ),可以快速滿足大部分的網(wǎng)絡(luò)系統(tǒng),包括業(yè)務(wù)路由(負(fù)載均衡),WAF,API網(wǎng)關(guān),單點(diǎn)認(rèn)證,日志,QoS,跟蹤系統(tǒng)等。并可部署與單機(jī),私有化,混合云環(huán)境等無硬件依賴環(huán)境。
性能雖然在第二梯隊(duì),但XDP,Golang這樣的選擇也是第二梯隊(duì)的王者。而網(wǎng)絡(luò)性能的熱點(diǎn)更可能會(huì)在IO,并發(fā)(鎖),加解密/壓縮反壓縮(計(jì)算),而他們的解決方案從來不是哪種語言,有機(jī)會(huì)再探討。
P.S. K3S是輕量級K8S,適用于小系統(tǒng)部署。
關(guān)于2021網(wǎng)絡(luò)系統(tǒng)流行架構(gòu)有哪些問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。