您好,登錄后才能下訂單哦!
本篇內容主要講解“Netty有什么優勢”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Netty有什么優勢”吧!
Netty是什么?為什么這么火?
Netty是目前最流行的由JBOSS提供的一個Java開源框架NIO框架,Netty提供異步的、事件驅動的網絡應用程序框架和工具,用以快速開發高性能、高可靠性的網絡服務器和客戶端程序。
相比JDK原生NIO,Netty提供了相對十分簡單易用的API,非常適合網絡編程。Netty是完全基于NIO實現的,所以Netty是異步的。
作為一個異步NIO框架,Netty的所有IO操作都是異步非阻塞的,通過Future-Listener機制,用戶可以方便的主動獲取或者通過通知機制獲得IO操作結果。
Netty無疑是NIO的老大,它的健壯性、功能、性能、可定制性和可擴展性在同類框架都是首屈一指的。它已經得到成百上千的商業/商用項目驗證,如Hadoop的RPC框架Avro、RocketMQ以及主流的分布式通信框架Dubbo等等。
為什么這么火,是有原因的。
Netty的優點可以總結如下
1、API使用簡單,開發門檻低;
2、功能強大,預置了多種編解碼功能,支持多種主流協議;
3、定制能力強,可以通過ChannelHandler對通信框架進行靈活地擴展;
4、性能高,通過與其他業界主流的NIO框架對比,Netty的綜合性能最優;
5、成熟、穩定,Netty修復了已經發現的所有JDK NIO BUG,業務開發人員不需要再為NIO的BUG而煩惱;
6、社區活躍,版本迭代周期短,發現的BUG可以被及時修復,同時,更多的新功能會加入;
7、經歷了大規模的商業應用考驗,質量得到驗證。在互聯網、大數據、網絡游戲、企業應用、電信軟件等眾多行業得到成功商用,證明了它已經完全能夠滿足不同行業的商業應用了。
與Mina相比有什么優勢?
1、都是Trustin Lee的作品,Netty更晚;
2、Mina將內核和一些特性的聯系過于緊密,使得用戶在不需要這些特性的時候無法脫離,相比下性能會有所下降,Netty解決了這個設計問題;
3、Netty的文檔更清晰,很多Mina的特性在Netty里都有;
4、Netty更新周期更短,新版本的發布比較快;
5、它們的架構差別不大,Mina靠apache生存,而Netty靠jboss,和jboss的結合度非常高,Netty有對google protocal buf的支持,有更完整的ioc容器支持(spring,guice,jbossmc和osgi);
6、Netty比Mina使用起來更簡單,Netty里你可以自定義的處理upstream events或/和downstream events,可以使用decoder和encoder來解碼和編碼發送內容;
7、Netty和Mina在處理UDP時有一些不同,Netty將UDP無連接的特性暴露出來;而Mina對UDP進行了高級層次的抽象,可以把UDP當成"面向連接"的協議,而要Netty做到這一點比較困難。
到此,相信大家對“Netty有什么優勢”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。