Netty

Netty

Netty是由JBOSS提供的一個java開源框架,現為 Github上的獨立項目。Netty提供異步的、事件驅動的網路應用程式框架和工具,用以快速開發高性能、高可靠性的網路伺服器和客戶端程式。

也就是說,Netty 是一個基於NIO的客戶、伺服器端編程框架,使用Netty 可以確保你快速和簡單的開發出一個網路套用,例如實現了某種協定的客戶、服務端套用。Netty相當於簡化和流線化了網路套用的編程開發過程,例如:基於TCP和UDP的socket服務開發。

“快速”和“簡單”並不用產生維護性或性能上的問題。Netty 是一個吸收了多種協定(包括FTP、SMTP、HTTP等各種二進制文本協定)的實現經驗,並經過相當精心設計的項目。最終,Netty 成功的找到了一種方式,在保證易於開發的同時還保證了其套用的性能,穩定性和伸縮性。

基本介紹

  • 外文名:Netty
  • 依賴平台JBOSS
  • 性質java開源框架
  • 特點:快速開發高性能、高可靠性
  • 新的傳輸方式:處理大容量數據流更簡單
特點,設計,易用性,性能,健壯性,安全,社區,新特性,新的傳輸方式,新的編碼器,其他技術整合,

特點

設計

針對多種傳輸類型的統一接口 - 阻塞和非阻塞
簡單但更強大的執行緒模型
真正的無連線的數據報套接字支持
連結邏輯支持復用

易用性

大量的 Javadoc 和 代碼實例
除了在 JDK 1.6 + 額外的限制。(一些特徵是只支持在Java 1.7 +。可選的功能可能有額外的限制。)

性能

比核心 Java API 更好的吞吐量,較低的延時
資源消耗更少,這個得益於共享池和重用
減少記憶體拷貝

健壯性

消除由於慢,快,或重載連線產生的 OutOfMemoryError
消除經常發現在 NIO 在高速網路中的套用中的不公平的讀/寫比

安全

完整的 SSL / TLS 和 StartTLS 的支持
運行在受限的環境例如 Applet 或 OSGI

社區

發布的更早和更頻繁
社區驅動

新特性

處理大容量數據流更簡單
處理協定編碼和單元測試更簡單
I/O逾時和idle狀態檢測
應用程式的關閉更簡單,更安全
更可靠的OutOfMemoryError預防

新的傳輸方式

1、基於BIO和NIO的UDP傳輸
2、本地傳輸(又名 in-VM傳輸)
3、HTTP通道,可繞過防火牆

新的編碼器

1、HTTP客戶端和伺服器端
2、用於實現各種專有協定的工具

其他技術整合

1、Google Protocol Buffers
2、JBoss Microcontainer, OSGi, Guice以及Spring

相關詞條

熱門詞條

聯絡我們