上一篇 <<<Redis為什么單線程能夠支持高并發(fā)
下一篇 >>>Netty的粘包和拆包問(wèn)題分析
為什么使用netty,不直接用nio
a、Nio原生的api非常復(fù)雜、學(xué)習(xí)成本非常高
b、Netty框架對(duì)NIO實(shí)現(xiàn)包裝
通過(guò)對(duì)Netty的分析,我們將它的優(yōu)點(diǎn)總結(jié)如下。
◎ API使用簡(jiǎn)單,開(kāi)發(fā)門(mén)檻低;
◎ 功能強(qiáng)大,預(yù)置了多種編解碼功能,支持多種主流協(xié)議;
◎ 定制能力強(qiáng),可以通過(guò)ChannelHandler對(duì)通信框架進(jìn)行靈活地?cái)U(kuò)展;
◎ 性能高,通過(guò)與其他業(yè)界主流的NIO框架對(duì)比,Netty的綜合性能最優(yōu);
◎ 成熟、穩(wěn)定,Netty修復(fù)了已經(jīng)發(fā)現(xiàn)的所有JDK NIO BUG,業(yè)務(wù)開(kāi)發(fā)人員不需要再為NIO的BUG而煩惱;
◎ 社區(qū)活躍,版本迭代周期短,發(fā)現(xiàn)的BUG可以被及時(shí)修復(fù),同時(shí),更多的新功能會(huì)加入;
◎ 經(jīng)歷了大規(guī)模的商業(yè)應(yīng)用考驗(yàn),質(zhì)量得到驗(yàn)證。Netty在互聯(lián)網(wǎng)、大數(shù)據(jù)、網(wǎng)絡(luò)游戲、企業(yè)應(yīng)用、電信軟件等眾多行業(yè)已經(jīng)得到了成功商用,證明它已經(jīng)完全能夠滿足不同行業(yè)的商業(yè)應(yīng)用了。
正是因?yàn)檫@些優(yōu)點(diǎn),Netty逐漸成為了Java NIO編程的首選框架。
netty應(yīng)用場(chǎng)景有那些
a、http的服務(wù)器
b、rpc開(kāi)發(fā),比如dubbo、LCN、seata等
c、支持長(zhǎng)鏈接的開(kāi)發(fā)。比如在線聊天,實(shí)時(shí)推送,游戲,大數(shù)據(jù)等。
推薦閱讀:
<<<OSI七層模型與層上協(xié)議
<<<TCP的三次握手建立鏈接和四次揮手釋放鏈接
<<<TCP、UDP及Socket代碼示例
<<<Https的1.0、2.0協(xié)議及長(zhǎng)短鏈接區(qū)別
<<<Linux系統(tǒng)的五種IO模型
<<<BIO和NIO區(qū)別
<<<BIO模型的缺陷
<<<NIO模式的IO多路復(fù)用底層原理
<<<select、poll、epoll的區(qū)別
<<<Redis為什么單線程能夠支持高并發(fā)
<<<Netty的粘包和拆包問(wèn)題分析
<<<粘包和拆包問(wèn)題解決方案匯總
<<<序列化與反序列化知識(shí)點(diǎn)匯總
<<<MessagePack反序列化使用示例
<<<Marshalling在Netty中的使用