首頁(yè)技術(shù)文章正文

Netty是什么?Netty的優(yōu)勢(shì)

更新時(shí)間:2023-03-15 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

Netty 是一個(gè)異步的、基于事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用框架,用于快速開發(fā)可維護(hù)、高性能的網(wǎng)絡(luò)服務(wù)器和客戶端。Netty 在 Java 網(wǎng)絡(luò)應(yīng)用框架中的地位就好比:Spring 框架在 JavaEE 開發(fā)中的地位。以下的框架都使用了 Netty,因?yàn)樗鼈冇芯W(wǎng)絡(luò)通信需求!

? Cassandra - nosql 數(shù)據(jù)庫(kù)

? Spark - 大數(shù)據(jù)分布式計(jì)算框架

? Hadoop - 大數(shù)據(jù)分布式存儲(chǔ)框架

? RocketMQ - ali 開源的消息隊(duì)列

? ElasticSearch - 搜索引擎

? gRPC - rpc 框架

? Dubbo - rpc 框架

Spring 5.x - flux api 完全拋棄了 tomcat ,使用 netty 作為服務(wù)器端

Zookeeper - 分布式協(xié)調(diào)框架

Netty vs NIO,工作量大,bug 多,需要自己構(gòu)建協(xié)議,解決 TCP 傳輸問(wèn)題,如粘包、半包。epoll 空輪詢導(dǎo)致 CPU 100%, 對(duì) API 進(jìn)行增強(qiáng),使之更易用,如 FastThreadLocal => ThreadLocal,ByteBuf => ByteBuffer

Netty vs 其它網(wǎng)絡(luò)應(yīng)用框架

Mina 由 apache 維護(hù),將來(lái) 3.x 版本可能會(huì)有較大重構(gòu),破壞 API 向下兼容性,Netty 的開發(fā)迭代更迅速,API 更簡(jiǎn)潔、文檔更優(yōu)秀。

久經(jīng)考驗(yàn),16年,Netty 版本

? 2.x 2004

? 3.x 2008

? 4.x 2013

? 5.x 已廢棄(沒(méi)有明顯的性能提升,維護(hù)成本高)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!