首頁技術文章正文

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

更新時間:2023-03-15 來源:黑馬程序員 瀏覽量:

IT培訓班

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

? Cassandra - nosql 數據庫

? Spark - 大數據分布式計算框架

? Hadoop - 大數據分布式存儲框架

? RocketMQ - ali 開源的消息隊列

? ElasticSearch - 搜索引擎

? gRPC - rpc 框架

? Dubbo - rpc 框架

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

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

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

Netty vs 其它網絡應用框架

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

久經考驗,16年,Netty 版本

? 2.x 2004

? 3.x 2008

? 4.x 2013

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

分享到:
在線咨詢 我要報名
和我們在線交談!