| 企服解答
Netty是由JBOSS提供的一個java開源框架,是一個高性能、異步事件驅(qū)動的NIO框架,它提供了對TCP、UDP和文件傳輸?shù)闹С郑鳛橐粋€異步NIO框架,Netty的所有IO操作都是異步非阻塞
Netty的應(yīng)用場景:
1.互聯(lián)網(wǎng)行業(yè)
在分布式系統(tǒng)中,各個節(jié)點(diǎn)之間需要遠(yuǎn)程服務(wù)調(diào)用,高性能的RPC框架必不可少,Netty作為異步高新能的通信框架,往往作為基礎(chǔ)通信組件被這些RPC框架使用。
典型的應(yīng)用有:阿里分布式服務(wù)框架Dubbo的RPC框架使用Dubbo協(xié)議進(jìn)行節(jié)點(diǎn)間通信,Dubbo協(xié)議默認(rèn)使用Netty作為基礎(chǔ)通信組件,用于實(shí)現(xiàn)各進(jìn)程節(jié)點(diǎn)之間的內(nèi)部通信。
除了 Dubbo 之外,淘寶的消息中間件 RocketMQ 的消息生產(chǎn)者和消息消費(fèi)者之間,也采用 Netty 進(jìn)行高性能、異步通信。
2.游戲行業(yè)
無論是手游服務(wù)端還是大型的網(wǎng)絡(luò)游戲,Java語言得到了越來越廣泛的應(yīng)用。Netty作為高性能的基礎(chǔ)通信組件,它本身提供了TCP/UDP和HTTP協(xié)議棧。
非常方便定制和開發(fā)私有協(xié)議棧,賬號登錄服務(wù)器,地圖服務(wù)器之間可以方便的通過Netty進(jìn)行高性能的通信
3.大數(shù)據(jù)領(lǐng)域
經(jīng)典的Hadoop的高性能通信和序列化組件Avro的RPC框架,默認(rèn)采用Netty進(jìn)行跨界點(diǎn)通信,它的Netty Service基于Netty框架二次封裝實(shí)現(xiàn)。
| 擴(kuò)展閱讀
netty框架的優(yōu)勢:
1、API使用簡單,開發(fā)門檻低。
2、功能強(qiáng)大,預(yù)置了多種編解碼功能,支持多種主流協(xié)議。
3、定制能力強(qiáng),可以通過ChannelHandler對通信框架進(jìn)行靈活地擴(kuò)展。
4、性能高,通過與其他業(yè)界主流的NIO框架對比,Netty的綜合性能最優(yōu)。
5、成熟、穩(wěn)定,Netty修復(fù)了已經(jīng)發(fā)現(xiàn)的所有JDK NIO BUG,業(yè)務(wù)開發(fā)人員不需要再為NIO的BUG而煩惱。
6、社區(qū)活躍,版本迭代周期短,發(fā)現(xiàn)的BUG可以被及時修復(fù),同時,更多的新功能會加入。
7、經(jīng)歷了大規(guī)模的商業(yè)應(yīng)用考驗(yàn),質(zhì)量得到驗(yàn)證。在互聯(lián)網(wǎng)、大數(shù)據(jù)、網(wǎng)絡(luò)游戲、企業(yè)應(yīng)用、電信軟件等眾多行業(yè)得到成功商用,證明了它已經(jīng)完全能夠滿足不同行業(yè)的商業(yè)應(yīng)用了。
netty的特點(diǎn):
1、高并發(fā)
Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)開發(fā)的網(wǎng)絡(luò)通信框架,對比于BIO(Blocking I/O,阻塞IO),他的并發(fā)性能得到了很大提高。
2、傳輸快
Netty的傳輸快其實(shí)也是依賴了NIO的一個特性——零拷貝。
3、封裝好
Netty封裝了NIO操作的很多細(xì)節(jié),提供易于使用的API。
[免責(zé)聲明]
文章標(biāo)題: netty框架干什么的
文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時溝通。發(fā)送郵件至36dianping@36kr.com,我們會在3個工作日內(nèi)處理。