Léger et de faible latence Java réseau de la bibliothèque?

Je suis en train de travailler sur un client-serveur paire dont le multithread client effectue des milliers invocations du serveur par seconde et la première priorité est d'atteindre un minimum de latence. Le débit doit être élevé. Le client et le serveur sont écrits en Java, la communication, la sémantique est assez simple (put/get opérations).

Quel est le meilleur Java réseau de la bibliothèque/le cadre de ces exigences? Des serveurs comme Tomacat/Jetty semble être des poids lourds. Je suis en train de réfléchir MINA ou Netty, mais je ne suis pas sûr que ces asynchrone libs va fournir une base stable à faible latence sous la lourde charge de travail.

Vous parlez de "[ .. ] le client effectue des milliers invocations". Avez-vous vraiment juste (ou très peu de clients)? Cadres basé sur java nio (netty/mina) briller quand ils sont la manipulation de très nombreux clients (simultanée des connexions), mais cela ne signifie pas nécessairement que ces clients d'effectuer de nombreuses invocations. tomcat utilise le protocole http, tandis que mina/netty sont plus orientées vers l'utilisation de tcp directement.
Oui, j'ai seulement quelques applications client et chaque application dispose d'un relativement petit nombre de threads (~20). Ainsi, un nombre total de connexions n'est pas extrêmement élevé.
Presque tous les non-blocage du réseau des bibliothèques de produire beaucoup de déchets, car ils traitent des messages. Il devient très difficile d'être en temps réel lorsque vous avez la GC interférences. Je vous suggère de prendre un coup d'oeil à CoralReactor, qui produit zéro déchet.

OriginalL'auteur user1128016 | 2012-06-22