web-dev-qa-db-ja.com

JettyとNettyの違いは何ですか?

JettyとNettyの主な違いは何ですか?

NettyはJbossの一部ですが、デフォルトのWebサーバーコンテナーですか?

Nettyはサーブレット3.0をサポートしていますか?

123
user646584

Jettyは、Javaアプリケーション内に簡単に組み込むことができる軽量のサーブレットコンテナです。使いやすいjettyクライアントもあります。

Nettyは、非同期のイベント駆動型ネットワークアプリケーションフレームワークです。たとえば、Nettyフレームワークを使用して、独自のサーブレットコンテナまたはhttpクライアントアプリを作成できます。

編集:

Jetty 8とApache Tomcat 7はサーブレット3.0仕様をサポートしていることを忘れていましたが、nettyはサポートしていません。サーブレットコンテナではないからです。

180
moritz

両方のプロジェクトが新しい機能を追加すると、時間の経過とともにオーバーラップが増加すると思います。

ベンチマークは次のとおりです。 https://Gist.github.com/dhanji/81ccc0e6652eccaf43cf

JettyはWebサーバー(HTTP)で、Tomcatなどに似ていますが、ほとんどのサーブレットコンテナよりも軽量です。これは、サーバーアプリケーション(サーブレット、WARファイル)を行う従来のJavaの方法に近いものです。 Nettyと同様、Javaアプリケーションに埋め込むのに十分な軽量です。

Nettyは、NIO clientサーバーフレームワークであり、プロトコルサーバーやクライアントなどのネットワークアプリケーション。 TCPやUDPソケットサーバーなどのネットワークプログラミングを大幅に簡素化および合理化します。そのため、NettyはNIO /ノンブロッキング、非同期ネットワークプログラムの作成を支援することに注力しています。

ネットワークプロトコルを多く処理し、それをノンブロッキングにしたい場合は、Nettyを使用します(通常、高性能の場合)。軽いHTTPサーブレットコンテナが必要な場合は、Jettyを使用します。

37

これは大雑把な単純化ですが、違いを簡単に理解できます。

NettyTCPアプリケーションを記述するためのフレームワークです。

JettyHTTPアプリケーションを記述するためのフレームワークです。

1
Rafis Ganeev