web-dev-qa-db-fra.com

Quelle est la différence entre Jetty et Netty?

Quelle est la principale différence entre Jetty et Netty?

Netty fait partie de Jboss, mais s'agit-il du conteneur de serveur Web par défaut?

Netty prend-il en charge Servlets 3.0?

123
user646584

Jetty est un conteneur de servlets léger, facile à intégrer dans une application Java, il existe également un client jetty facile à utiliser.

Netty est une infrastructure d'application réseau asynchrone pilotée par événement. Vous pouvez écrire votre propre conteneur de servlets ou votre application client http avec l'aide du framework Netty, par exemple.

Edit:

J'ai oublié de mentionner que Jetty 8 et Apache Tomcat 7 prennent en charge la spécification Servlet 3.0, mais pas Netty. Parce que ce n'est pas un conteneur de servlet.

180
moritz

Je pense qu'avec le temps, le chevauchement augmente à mesure que les deux projets ajoutent de nouvelles fonctionnalités.

Voici un point de repère: https://Gist.github.com/dhanji/81ccc0e6652eccaf43cf

Jetty est un serveur Web (HTTP), semblable à celui de Tomcat, mais plus léger que la plupart des conteneurs de servlets. Ceci est plus proche de la manière traditionnelle Java de faire des applications serveur (servlets, fichiers WAR). Comme Netty, il est suffisamment léger pour être intégré dans les applications Java.

Netty est un framework de serveur NIO client qui permet de développer rapidement et facilement les applications réseau telles que les serveurs de protocole et les clients. Il simplifie et rationalise considérablement la programmation réseau telle que TCP et le serveur de socket UDP. Netty s’attache donc à aider à l’écriture de programmes réseau asynchrones non bloquants NIO.

Si vous utilisez beaucoup de protocoles réseau et que vous voulez que ce soit non bloquant, utilisez Netty (généralement pour les cas très performants). Si vous voulez un conteneur de servlets HTTP léger, utilisez Jetty.

37

C'est une simplification grossière, mais cela permet de comprendre facilement la différence:

Netty est un cadre pour écrire TCP applications.

Jetty est un cadre pour écrire HTTP applications.

1
Rafis Ganeev