教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Netty是什么?Netty在Java中有哪些優(yōu)勢?

更新時間:2023年03月13日18時14分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓

Netty 是一個異步的、基于事件驅(qū)動的網(wǎng)絡應用框架,用于快速開發(fā)可維護、高性能的網(wǎng)絡服務器和客戶端。Netty 在 Java 網(wǎng)絡應用框架中的地位就好比:Spring 框架在 JavaEE 開發(fā)中的地位。以下的框架都使用了 Netty,因為它們有網(wǎng)絡通信需求!

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

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

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

? RocketMQ - ali 開源的消息隊列

? ElasticSearch - 搜索引擎

? gRPC - rpc 框架

? Dubbo - rpc 框架

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

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

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

Netty vs 其它網(wǎng)絡應用框架

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

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

? 2.x 2004

? 3.x 2008

? 4.x 2013

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

0 分享到:
和我們在線交談!