Netty學習(1)

注:本文翻譯自Netty官方網站,地址:https://netty.io/

Netty介紹

Netty是一個異步事件驅動的網絡應用框架,可以快速開發易維護的高性能協議服務器和客戶端。


Netty是一個NIO的客戶端服務器框架,可以快速和簡單開發網絡應用(比如開發協議的服務器和客戶端),大大簡化並提高了網絡編程的效率(比如開發TCP和UDP socket 服務器)。“快和簡單”並不意味着基於Netty所開發的應用會有性能和維護性的問題。Netty從實現很多的協議中獲得很多的經驗,比如FTP、SMTP、HTTP、許多二進制和text-based遺留(legacy)協議。因此,Netty已經成功的找到了一條道路,達到了開發的簡單性、性能、穩定性和擴展性的平衡,不需要任何一方面的妥協。

特性

Netty爲了提供最好的網絡應用開發經驗,從頭開始進行了設計和編寫:

設計

  • 對於多樣的傳輸類型擁有統一的API - 阻塞的和非阻塞的socket。
  • 基於靈活和易於擴展的事件驅動模型
  • 高度自定義的線程模型-單線程,一個或者多個線程池,例如SEDA
  • 真正的無連接 datagram socket支持。(從3.1開始)

易用性

  • 完善的文檔支持:Javadoc、用戶指南和實例。
  • 除了依賴JDK1.5(或者以上)包之外,不依賴額外的包。

性能

  • 低延遲、更好的吞吐率
  • 更少的資源消耗
  • 最小化不必要的內存拷貝

健壯性

  • 不再有 由於快速、慢或者過載連接導致的OutOfMemoryError。
  • 不再有高速網絡下的NIO應用存在的不公平讀/寫比問題。

安全

  • 完善的SSL/TLS和StartTLS支持。
  • 在限制的環境中比如Applet可以很好的運行。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章