2010-02-26 20 views
5

J'ai écrit un serveur à haut débit qui gère chaque requête dans son propre thread. Pour les demandes arrivant il est parfois nécessaire de faire des RPC à un ou plusieurs back-ends. Ces RPC back-end sont gérés par une file d'attente et un pool de threads séparés, ce qui limite le nombre de threads créés et le nombre maximum de connexions au back-end (il effectue une mise en cache pour réutiliser les clients et économiser le temps système). créer constamment des connexions). Après avoir fait tout cela, je commence à penser qu'une architecture basée sur les événements serait plus efficace.Existe-t-il un équivalent Java à libevent?

En cherchant autour je n'ai trouvé aucun équivalent à libevent pour Java, mais peut-être que je ne cherche pas au bon endroit? Mina-statemachine d'Apache était la chose la plus proche que j'ai trouvée, mais elle semble plus verbeuse que ce dont j'ai besoin et il n'y a pas vraiment de version disponible.

Des suggestions?

Répondre

5

Je suis un peu en retard, mais:

Avez-vous regardé Netty? ou Grizzly.

+0

Merci, j'ai passé du temps à regarder Netty et je pense que c'est une bonne solution. – JoelPM

-1

Vous recherchez peut-être un moteur de workflow tel que JBPM ou tout autre outil Open Source répertorié here.

+0

Je ne pense pas que OP était intéressé par BPM ou des solutions de gestion de flux de travail. libevent est sur le réseau non-bloquant io – Tair

1

La réponse semble être « non », même si elle ressemble à la bibliothèque Ruby eventmachine fournit une implémentation Java pour les utilisateurs JRuby qui pourraient être utilisables ou tout au moins servir comme source d'inspiration pour écrire mon propre: http://github.com/eventmachine/eventmachine/tree/master/java/