www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > C語言編程
[導(dǎo)讀]什么是網(wǎng)絡(luò)編程?用一句話概括,就是對網(wǎng)絡(luò)協(xié)議的落地。?落地,意味著對實(shí)戰(zhàn)的要求更高。所以,一些朋友更喜歡用類似Netty這種封裝好的框架——快速,高效。確實(shí),跟開發(fā)細(xì)節(jié)相比,我們常常更看重開發(fā)效率。?可日常的項(xiàng)目里,我們也不得不面對極端的網(wǎng)絡(luò)性能考驗(yàn)。沒人喜歡堵車,但應(yīng)對大量請求時(shí),如果網(wǎng)絡(luò)性能處理不佳,數(shù)據(jù)、業(yè)務(wù)就會面臨大塞車。?舉個(gè)正向的例子,之前在綠盟有個(gè)信息安全產(chǎn)品,叫黑洞,是當(dāng)時(shí)市場上最成功的DDOS過濾設(shè)備。這玩意最大的技術(shù)難點(diǎn)就在于:當(dāng)攻擊報(bào)文洪水到達(dá)時(shí),每秒要過濾掉幾十萬攻擊請求。在那之前,我從沒想過通過程序代碼,對網(wǎng)絡(luò)報(bào)文的處理效率,竟然能達(dá)到如此強(qiáng)悍的地步。?早些年尚且如此...

什么是網(wǎng)絡(luò)編程?用一句話概括,就是對網(wǎng)絡(luò)協(xié)議的落地。




落地,意味著對實(shí)戰(zhàn)的要求更高。所以,一些朋友更喜歡用類似 Netty 這種封裝好的框架——快速,高效。確實(shí),跟開發(fā)細(xì)節(jié)相比,我們常常更看重開發(fā)效率。



可日常的項(xiàng)目里,我們也不得不面對極端的網(wǎng)絡(luò)性能考驗(yàn)。沒人喜歡堵車,但應(yīng)對大量請求時(shí),如果網(wǎng)絡(luò)性能處理不佳,數(shù)據(jù)、業(yè)務(wù)就會面臨大塞車



舉個(gè)正向的例子,之前在綠盟有個(gè)信息安全產(chǎn)品,叫黑洞,是當(dāng)時(shí)市場上最成功的 DDOS 過濾設(shè)備。這玩意最大的技術(shù)難點(diǎn)就在于:當(dāng)攻擊報(bào)文洪水到達(dá)時(shí),每秒要過濾掉幾十萬攻擊請求。在那之前,我從沒想過通過程序代碼,對網(wǎng)絡(luò)報(bào)文的處理效率,竟然能達(dá)到如此強(qiáng)悍的地步。



早些年尚且如此,更別提如今的 5G 時(shí)代了。用戶大幅度提升的平均網(wǎng)絡(luò)傳輸速度,正對我們提出高性能網(wǎng)絡(luò)編程的要求:不僅要解決諸如提高吞吐量和并發(fā)性等問題,還得處理各種棘手異常,比如保證千萬個(gè)連接的正常運(yùn)行等等。



這些,顯然不是一兩個(gè)框架就能搞定的。



可惜的是,我面試過的不少候選人都沒有意識到這點(diǎn),哪怕他們已經(jīng)工作多年,在網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)編程這塊依舊不是很上心,對其的理解也還停留在一個(gè)比較淺的層次上,比如:



? 大家經(jīng)常說的四層、七層,分別指的是什么?


? TCP 三次握手是什么,TIME_WAIT 是怎么發(fā)生的?CLOSE_WAIT 又是什么狀態(tài)?


? Linux 下的 epoll 解決的是什么問題?如何使用 epoll 寫出高性能的網(wǎng)絡(luò)程序?


? 什么是網(wǎng)絡(luò)事件驅(qū)動模型?Reactor 模式又是什么?



其實(shí),無論在面試還是工作中,網(wǎng)絡(luò)性能及優(yōu)化這方面的知識都是非常重要的基本功。在我看來,想做到高性能網(wǎng)絡(luò)編程,下面兩個(gè)核心要點(diǎn)永遠(yuǎn)都繞不開:



第一,在理解網(wǎng)絡(luò)協(xié)議的基礎(chǔ)上,充分利用操作系統(tǒng)內(nèi)核提供的能力,感知各種網(wǎng)絡(luò) I/O 事件;第二,學(xué)會使用線程處理并發(fā)。抓住這兩點(diǎn),就抓住了高性能網(wǎng)絡(luò)編程的“七寸”。



分享給你一張網(wǎng)絡(luò)編程的核心知識圖譜,將上述兩個(gè)核心會涉及到的知識點(diǎn)都囊括在內(nèi),只要我們仔細(xì)梳理、透徹理解這些核心知識點(diǎn),就能學(xué)以致用地解決工作中的實(shí)際問題。




這張圖譜出自盛延敏的《網(wǎng)絡(luò)編程實(shí)戰(zhàn)》專欄。其實(shí)我覺得他這名字起得太樸素了。要我的話,就叫:高性能網(wǎng)絡(luò)編程,因?yàn)檎麄€(gè)專欄都是圍繞「高性能」展開的。



但話又說回來,高性能就建立在那些實(shí)打?qū)嵉慕?jīng)驗(yàn)基礎(chǔ)上,所以現(xiàn)在這個(gè)也算簡潔有力。內(nèi)容同樣是單刀直入展開,比如在講解某個(gè)理論或算法時(shí),與代碼、實(shí)驗(yàn)相關(guān)聯(lián),分析它提出的目的、解決了哪些問題。



說白了,就是從解決實(shí)際問題的角度切入,講解知識點(diǎn),讓你透徹理解協(xié)議、API 和代碼。學(xué)完就能用得上,這點(diǎn)挺不錯(cuò)的,值得推薦給你。






本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉