web-dev-qa-db-fra.com

Utiliser Jetty ou Netty?

Nous sommes en train d'écrire un serveur hautes performances pour le traitement des messages. Nous utilisons Jetty depuis plusieurs années et nous aimons ça, mais Netty semble avoir des fonctionnalités intéressantes. En particulier, il prend en charge le traitement asynchrone de sorte qu'un thread n'a pas besoin d'être attaché en attendant que le système traite un message donné. Il est conçu pour résoudre le problème C10k.

Je sais que Jetty a un certain support pour NIO en interne. A-t-il également un modèle asynchrone?

Les messages sont susceptibles d'être au format http. Netty a-t-elle des avantages en termes de performances par rapport à Jetty lorsque vous faites du vieux http simple?

J'aimerais avoir toutes les fonctionnalités pratiques d'un vrai conteneur de servlet, mais pas au prix de performances réduites.

29
ccleve

Jetty prend en charge le traitement des demandes asynchrones depuis la version 6 (voir ici ), en utilisant une API propriétaire. Les versions plus récentes prennent en charge l'API asynchrone dans le cadre de l'API Servlet 3.0, comme toute autre implémentation conforme.

Utiliser Netty semblerait beaucoup de travail pour peu de gain, sauf si vous avez des exigences très spécifiques. Sinon, Jetty ferait le travail pour vous avec un minimum d'efforts.

31
skaffman