Netty是由JBOSS提供給的一個java開源框架。Netty提供異步的、事件驅動的網絡應用框架和工具,用以快速開發高性能、高可靠的網絡服務器和客戶端程序。Netty在消息處理上使用責任鏈模式,用戶可以輕松方便的對它進行擴展。官方也提供了大量的優秀的擴展。
也就是說,Netty是一個基於NIO的客戶端、服務器端編程框架,使用Netty可以確保你快速和簡單地開發出一個網絡應用,例如實現了某種協議的客戶、服務端應用。Netty相當於簡化和流線化了網絡應用的編程開發過程,例如,TCP和UDP的socket服務開發。
“快速”和“簡單”並不用產生維護性或性能上的問題。Netty是一個吸收了多種協議的實現經驗,這些協議包括FTP、SMTP、HTTP、各種二進制、文本協議,並經過相當精心設計的項目,最終,Netty成功地找到了一種方式,在保證易於開發的同時還保證其應用的性能、穩定性和伸縮性。
Netty從4.x版本開始,需要使用JDK1.6及以上版本提供基礎支撐。
在設計上,針對多種傳輸類型的統一接口,采用簡單但更強大的線程模型。
在性能上,比核心Java API更好的吞吐量,較低的延時,資源消耗更少,這個得益於共享池和重用,減少內存拷貝。
在健壯性上,消除由於慢、快或重連接產生的OutOfMemoryError。
在安全上,完整的SSL/TLS和StartTLS的支持。
后續文章中使用的版本是Netty4.1。
對於一個新手,建議先將相關的API通讀下,便於理解相關代碼。