1.ネイティブNIO問題の存在
-
マスターセレクタ、のServerSocketChannel、たSocketChannel、ByteBufferのというようにする必要があります:NIOライブラリとAIPは、使用に面倒を複雑。
-
追加のスキルを持っているために、他の必要性:Javaのマルチスレッドプログラミングに精通していることが、NIOのプログラミングは、原子炉モードに関連するので、あなたは、高品質のNIOのプログラムを準備するためには、マルチスレッドプログラミングやネットワークに精通している必要があります。
-
開発努力は非常に大きいと難しいです:例えば、クライアントの顔が切断再接続、ネットワークグリッチ、半分パックリーダー、キャッシュの失敗、などのネットワークの混雑や異常処理フローを、および。
-
JDK NIOバグ:例えば悪名高いファイルディスクリプタバグ、ポーリングは100%CPU、その結果、リードセレクタ空にすることができます。まだ存在している問題のJDK 1.7バージョンまでは、それは根本的に解決されていません。
2.Netty公式サイト説明
公式サイト:https://netty.io/
ネッティーは、非同期イベント駆動型のネットワークアプリケーションフレームワーク
保守性、高性能プロトコル・サーバー&クライアントの急速な発展のために。
網状はJBossのオープンソースのJavaフレームワークによって提供される、網状は、高性能、高信頼性ネットワークIOプログラムを迅速に開発するための非同期、ウェブベースのイベント駆動型アプリケーションのフレームワークを提供します。ネッティーはすぐにあなたを助け、簡単にネットワークアプリケーション、同等のNIO簡略化され、開発プロセスを開発することができます。
ネッティーは、このような網状を採用しているダボの枠組み内Elasticsearch知られているアプリケーションの広い範囲で、へのアクセスなどネッティーは、インターネット分野では、ビッグデータは、分散コンピューティングで最も人気のあるNIOフレームワーク、ゲーム業界、通信業界、です。
3.Nettyの利点
-
エレガントなデザイン:伝送統一APIのブロッキングやソケットを非ブロックのさまざまな種類のために、明確に懸念を分離し、柔軟で拡張可能なイベントモデルに基づいて、高度にカスタマイズスレッドモデル - 単一のスレッド、1つまたは複数のスレッドプール。
-
使いやすい:詳細のJavadoc、ユーザーガイドおよび実施例; NO他の依存関係、JDK5(網状3.xの)または6(網状の4.x)が十分です。
-
パフォーマンス、スループットが高い:低遅延、リソース消費量を削減、不要なリソースのコピーを最小限に抑えます。
-
セキュリティ:フルSSL / TLSおよびStartTLSをサポート。
-
常に更新コミュニティ活動家、:より多くの新機能が追加されている間、コミュニティ活動家、短いバージョンの繰り返しは、時間内に発見されたバグは、修復することができます。
4.Netty奥付
ネッティーバージョンはネッティー3.xおよび4.xのネッティー、網状の5.xに分かれています
ネッティー5の公式ウェブサイトでは、現在の安定版はのネッティー4.xを推奨され、放棄されています。
現在、公式サイトのダウンロード可能なバージョン3.xのネッティー、ネッティー4.0.xの、ネッティー4.1.x.