Qual è la differenza tra Jetty e Netty?


144

Qual è la differenza principale tra Jetty e Netty?

Netty fa parte di Jboss, ma è il contenitore del server Web predefinito?

Netty supporta Servlet 3.0?

Risposte:


199

Jetty è un contenitore servlet leggero, facile da incorporare in un'applicazione java, c'è anche un client molo facile da usare.

Netty è un framework di applicazioni di rete asincrono guidato da eventi. Ad esempio, è possibile scrivere il proprio contenitore servlet o l'app client http con l'aiuto del framework Netty.

Modificare:

Ho dimenticato di menzionare che Jetty 8 e Apache Tomcat 7 supportano le specifiche servlet 3.0, ma netty no. Perché non è un contenitore servlet.


8
Jetty è anche un server Http. è in bundle. Sia Http Server che Application Server /
Containlet

6
Continuo a non vedere la relazione tra i due. Netty è per la logica del livello di trasporto mentre molo è per la logica del livello applicazione?
Sridhar Sarnobat,

15
@ Sridhar-Sarnobat Sì, Netty è per il livello di trasporto, mentre molo è specifico per le applicazioni orientate agli http. Con Netty puoi ottimizzare l'inquadratura dei messaggi e la codifica / decodifica in modo molto preciso, mentre sei bloccato con HTTP con Jetty.
laughing_man,

1
Questo dà solo gli slogan su ogni sito web.
Swade

50

Penso che nel tempo la sovrapposizione aumenti man mano che entrambi i progetti aggiungono nuove funzionalità.

Ecco un benchmark: https://gist.github.com/dhanji/81ccc0e6652eccaf43cf

Jetty è un web server (HTTP), simile a Tomcat e simili, ma più leggero della maggior parte dei container servlet. Questo è più vicino al tradizionale modo Java di eseguire applicazioni server (servlet, file WAR). Come Netty è sufficientemente leggero per essere incorporato nelle applicazioni Java.

Netty è un framework di server client NIO che consente lo sviluppo rapido e semplice di applicazioni di rete come client e server di protocollo. Semplifica notevolmente e semplifica la programmazione di rete come il server socket TCP e UDP. Quindi Netty si sta concentrando sull'aiutare a scrivere NIO / programmi di rete asincroni non bloccanti.

Se hai molto a che fare con i protocolli di rete e desideri che non blocchi, usa Netty (di solito per casi ad alte prestazioni). Se si desidera un contenitore servlet HTTP leggero, utilizzare Jetty.


20

Questa è una semplificazione grossolana, ma consente di comprendere facilmente la differenza:

Netty è un framework per scrivere applicazioni TCP .

Jetty è un framework per scrivere applicazioni HTTP .


2
Abbastanza sintetico.
Syed Danish Ali,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.