Qui NIO bibliothèque (Netty, Grizzly, kryonet, ...) pour une simple serveur d'arrière-plan de mise en œuvre en Java?
Notre interface est simple Jetty (peut être remplacé avec Tomcat plus tard sur le serveur. Par le biais de servlets, nous fournissons un public HTTP API (plus ou moins Reposante) pour exposer notre fonctionnalité du produit.
Dans le backend, nous avons un processus Java qui n'a plusieurs types de tâches de maintenance. Alors que le backend processus habituellement t-il des tâches quand il est temps, maintenant et puis, l'interface doit réveiller le backend pour exécuter une certaine tâche en arrière-plan.
Qui (N)OI bibliothèque serait l'idéal pour cette tâche? J'ai trouvé Netty, Grizzly, kryonet et de la plaine du RMI. Pour l'instant, je suis enclin à dire Netty, il semble simple d'utilisation et il est probablement très fiable.
N'importe quel d'entre vous ont de l'expérience dans ce genre de configurations? Quel serait votre choix?
merci!
Vous devez vous connecter pour publier un commentaire.
Essayer de traduire ce document réponse à votre question.
http://blog.xebia.fr/2011/11/09/java-nio-et-framework-web-haute-performance/
Cette société, en tant que français célèbre Java EE experts, a fait beaucoup de poc de NIO serveurs dans le contexte d'un français en challenge parrainé par VmWare (USI2011). C'était à propos de la construction d'un simple quizz application qui permet de gérer une charge de 1 million d'utilisateurs connectés.
Ils ont gagné ce défi avec d'excellents résultats.
Leur mise en œuvre a été Netty + Gemfire, et ils ont remplacé la CachedThreadPool par un MemoryAwareThreadPool.
Netty semble offrir de grandes performances, et est bien documenté.
Ils ont également jugé Habile, inspiré par la Tornade (python/facebook), mais il est encore un peu immature pour eux
Edit: voici la traduit de lien fournies dans les commentaires
Ma préférence est Netty. C'est simple et flexible. Très rapide et la communauté autour de Netty est génial.
La société pour laquelle je travaille est en train d'évaluer CoralReactor. C'est un logiciel commercial, mais il est le plus facile de l'API que j'ai jamais vu pour Java NIO. Mon opinion personnelle est que Netty rend les choses trop compliquées, surtout si vous voulez aller à la poubelle-gratuit et single-threaded, qui sont une exigence pour de nombreuses entreprises de la finance, de la publicité et l'industrie du jeu.
Je voudrais dissocier à l'aide de JMS, il suffit d'avoir quelques (ensemble de) contrôle des files d'attente de votre backend se trouve là, à l'écoute et vous avez terminé. Pas besoin d'écrire une coutume api nio ici.
Un fournisseur d'échantillons est hornetq. Ce peut être exécuté comme un processus de jms courtier ainsi, il utilise Netty sous les couvertures.