Netty剖析 - 3. 總結(jié)

前言

本篇為《Netty剖析》系列最后一篇,主要對(duì)Netty做簡(jiǎn)單的總結(jié)似忧,如果對(duì)Netty的細(xì)節(jié)感興趣渣叛,可以閱讀本系列的另外兩篇:

Netty適用場(chǎng)景

Netty只是一套網(wǎng)絡(luò)框架,它不可能適用于所有場(chǎng)景盯捌,所以選用Netty前最好能想清楚它是否能很好的應(yīng)對(duì)自己的需求淳衙。想要知道Netty的適用場(chǎng)景最好的方式就是從Netty本身的特性出發(fā)進(jìn)行思考,具體可參考本系列第一篇Netty剖析 - 1. 基礎(chǔ)中"Netty的特色"章節(jié)饺著,基于此箫攀,如果你的需求屬于下列場(chǎng)景,則Netty會(huì)比較適合你幼衰,包括:

  • 高并發(fā)靴跛,實(shí)時(shí)處理,如:游戲服務(wù)器塑顺,聊天服務(wù)器汤求,SOA調(diào)用框架俏险,RPC框架等
  • 對(duì)網(wǎng)絡(luò)協(xié)議(傳輸層與應(yīng)用層)有一定的定制需求
  • 一套代碼可能需要同時(shí)支持BIO和NIO

而其他情況,Netty并一不定適合扬绪,如:

  • 需求較簡(jiǎn)單的網(wǎng)絡(luò)應(yīng)用竖独,則不必使用Netty,畢竟在能滿足需求的基礎(chǔ)上挤牛,越簡(jiǎn)單越好
  • 單次請(qǐng)求處理耗時(shí)較長(zhǎng)的應(yīng)用莹痢,這種情況下NIO沒有優(yōu)勢(shì),此時(shí)使用BIO的方式可能效果會(huì)更好

Netty支持的協(xié)議

Netty框架本身已經(jīng)對(duì)常用的協(xié)議進(jìn)行了實(shí)現(xiàn)墓赴,包括:

  • 應(yīng)用層:HTTP竞膳,WebSocket,HTTP2诫硕,Redis坦辟,SMTP,DNS章办,MQTT锉走,SSL,STARTTLS 藕届,RTSP
  • 傳輸層:TCP挪蹭,UDP,SCTP休偶,UDT等
  • 其他:Protobuf梁厉,gzip

可以說,一般的應(yīng)用使用Netty本身的支持就能滿足大部分需求踏兜,剩下的關(guān)注自己的業(yè)務(wù)即可

Netty & MINA & Jetty

Netty和MINA經(jīng)常會(huì)放在一起比較词顾,主要是因?yàn)閮蓚€(gè)框架有很多相似的地方,或者說它們本身就是一對(duì)兄弟 -- 都是基于Java NIO封裝的一個(gè)網(wǎng)絡(luò)框架碱妆。其實(shí)更深入的了解會(huì)發(fā)現(xiàn)计技,Netty的作者Trustin Lee也是MINA的作者(當(dāng)然已經(jīng)不繼續(xù)參與了),據(jù)說他是對(duì)MINA的代碼不滿意山橄,才重新寫了Netty,所以看Netty的代碼經(jīng)常能看到MINA的影子舍悯,但就現(xiàn)在來說Netty的社區(qū)遠(yuǎn)比MINA要活躍航棱,迭代頻率也更高,大部分的特性也優(yōu)于MINA

至于Jetty之所以會(huì)拿來比較萌衬,主要是因?yàn)楹蚇etty名字類似饮醇,但其實(shí)這兩者并沒有很大的可比性,因?yàn)镴etty是一個(gè)輕量級(jí)的servlet容器秕豫,而Netty是一個(gè)基于NIO的異步網(wǎng)絡(luò)編程框架朴艰,基于Netty可以實(shí)現(xiàn)自己的servlet容器或者其它網(wǎng)絡(luò)應(yīng)用

相關(guān)項(xiàng)目

很多項(xiàng)目?jī)?nèi)部都使用Netty作為其網(wǎng)絡(luò)處理模塊观蓄,包括:

總結(jié)

本系列主要針對(duì)Netty的基礎(chǔ)概念,框架結(jié)構(gòu)及特色機(jī)制做了淺顯的分析祠墅,由于本人水平有限侮穿,難免有錯(cuò)誤和不合適的地方,望大家不吝指出毁嗦。Netty本身是一個(gè)優(yōu)秀的框架亲茅,其源碼的層次和結(jié)構(gòu)也很清晰,值得一讀狗准;平常很多人說熟悉網(wǎng)絡(luò)克锣,但是大部分人也僅僅只是知道一些皮毛(也包括我自己),其實(shí)腔长,想要寫一個(gè)健壯易用的網(wǎng)絡(luò)框架并不容易袭祟,如果需要同時(shí)支持高并發(fā),那更是難上加難捞附,而Netty在這一點(diǎn)就做得很出色巾乳,不僅體現(xiàn)在其本身優(yōu)秀的代碼組織,更多的還是把一些已有的功能和思想進(jìn)行合適的組裝和適當(dāng)?shù)膬?yōu)化故俐。另外想鹰,結(jié)合當(dāng)今另一個(gè)炙手可熱的高性能服務(wù)器Nginx會(huì)發(fā)現(xiàn),這兩者的思想有很多相通之處药版,如都是基于事件機(jī)制辑舷,都分為主工作組與子工作組,都是在PipeLine上設(shè)置一系列的Handler進(jìn)行數(shù)據(jù)處理槽片,都有通過邏輯映射增強(qiáng)內(nèi)存效率的設(shè)計(jì)等等何缓,很有意思,感興趣的小伙伴可以找尋相關(guān)資料進(jìn)行深入研究

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末还栓,一起剝皮案震驚了整個(gè)濱河市碌廓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剩盒,老刑警劉巖谷婆,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異辽聊,居然都是意外死亡纪挎,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門跟匆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來异袄,“玉大人,你說我怎么就攤上這事玛臂】就桑” “怎么了封孙?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)讽营。 經(jīng)常有香客問我虎忌,道長(zhǎng),這世上最難降的妖魔是什么斑匪? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任呐籽,我火速辦了婚禮,結(jié)果婚禮上蚀瘸,老公的妹妹穿的比我還像新娘狡蝶。我一直安慰自己,他們只是感情好贮勃,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布贪惹。 她就那樣靜靜地躺著,像睡著了一般寂嘉。 火紅的嫁衣襯著肌膚如雪奏瞬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天泉孩,我揣著相機(jī)與錄音硼端,去河邊找鬼。 笑死寓搬,一個(gè)胖子當(dāng)著我的面吹牛珍昨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播句喷,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼镣典,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了唾琼?” 一聲冷哼從身側(cè)響起兄春,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锡溯,沒想到半個(gè)月后赶舆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祭饭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年涌乳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甜癞。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖宛乃,靈堂內(nèi)的尸體忽然破棺而出悠咱,到底是詐尸還是另有隱情蒸辆,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布析既,位于F島的核電站躬贡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏眼坏。R本人自食惡果不足惜拂玻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宰译。 院中可真熱鬧檐蚜,春花似錦、人聲如沸沿侈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缀拭。三九已至咳短,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛛淋,已是汗流浹背咙好。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留褐荷,地道東北人勾效。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像诚卸,于是被迫代替她去往敵國(guó)和親葵第。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Netty的簡(jiǎn)單介紹 Netty 是一個(gè) NIO client-server(客戶端服務(wù)器)框架合溺,使用 Netty...
    AI喬治閱讀 8,395評(píng)論 1 101
  • 作者:李林鋒 原文:http://www.infoq.com/cn/articles/netty-high-per...
    楊鑫科閱讀 3,968評(píng)論 0 64
  • 前言 在了解一個(gè)事物之前卒密,最好能對(duì)它的基本屬性和相關(guān)概念有個(gè)基本的認(rèn)知,所以學(xué)習(xí)Netty之前棠赛,也有必要了解與Ne...
    簡(jiǎn)xiaoyao閱讀 1,709評(píng)論 0 10
  • 八個(gè)月以前你剛剛出世哮奇, 我欣喜的像個(gè)大孩子。 你圓圓鼓鼓的小肚子睛约, 裝滿了未曾謀面的故事鼎俘。 還記得第一次換尿不濕,...
    趙著急_閱讀 209評(píng)論 0 4
  • 阿誠(chéng)快速的拿起包離開辦公室辩涝,然后他似乎覺得有些不太恰當(dāng)贸伐,就重新開門把皮包隨手放回到沙發(fā)上。在樓道里怔揩,短短的距離捉邢,他...
    三石三味閱讀 251評(píng)論 4 20