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


143

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

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

NettyはServlets 3.0をサポートしていますか?

回答:


199

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

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

編集:

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


8
JettyはHttpサーバーでもあります。バンドルされています。Httpサーバーとアプリケーションサーバー/サーブレットコンテナーの両方
KyelJmD '15年

6
まだ両者の関係はわかりません。Nettyはトランスポート層ロジック用ですか、Jettyはアプリケーション層ロジック用ですか?
Sridhar Sarnobat

15
@ Sridhar-Sarnobatはい、Nettyはトランスポート層用ですが、jettyは特にhttp指向のアプリケーション用です。Nettyを使用すると、メッセージのフレーミングとエンコード/デコードを非常に正確に最適化できますが、JettyでHTTPを使用することはできません。
laughing_man

1
これは単に各ウェブサイトにキャッチフレーズを与えるだけです。
18

49

どちらのプロジェクトにも新しい機能が追加されるので、時間の経過とともに重なりが増えると思います。

ここにベンチマークがあります:https : //gist.github.com/dhanji/81ccc0e6652eccaf43cf

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

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

ネットワークプロトコルをよく扱っており、それを非ブロッキングにしたい場合は、Nettyを使用します(通常、高性能の場合)。軽量のHTTPサーブレットコンテナが必要な場合は、Jettyを使用してください。


19

これは大雑把な簡略化ですが、違いを簡単に理解することができます:

Nettyは、TCPアプリケーションを作成するためのフレームワークです。

Jettyは、HTTPアプリケーションを作成するためのフレームワークです。


2
十分に簡潔です。
Syed Danish Ali
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.