Quand utiliser un Bus d'Événement?

Je suis de la conception de l'interface pour une nouvelle Java web app et suis en train de décider si ou de ne pas utiliser un Événement de Bus, plus particulièrement la Goyave EventBus.

Plus côté serveur demandes seront synchrones: l'utilisateur demande des données et le besoin d'une réponse dans un délai de quelques secondes. Cependant, il ya aussi tout à fait un peu de nombre de requêtes qui peuvent être asynchrone et qui sont "fire and forget" sur le côté client. Tant qu'ils sont finalement transformés, le client peut moins de soins si il faut 2 secondds de processus ou 2 heures.

Pour ces demandes asynchrones, j'ai l'intention d'avoir la servlet à l'écoute à l'URL mappée publier les demandes à une file d'attente. Un consommateur sera alors résorption de chaque demande et de la route sur le gestionnaire approprié. C'est là que le EventBus peut ou ne peut pas entrer en jeu. La logique de routage de la requête vers le bon gestionnaire est assez complexe. Normalement un Chameau voie serait la solution idéale. Dans mon cas d'utilisation, je me demande si je peux juste câbler un tas de "processeurs" (gestionnaires d'événements) pour le même événement de bus, et alors chacun de tir et de recevoir des événements l'un à l'autre jusqu'à ce que le résultat final est produit.

Je tiens à dire que j'ai déjà exploré à l'aide d'Apache Camel, et je crois que le Chameau est le bon outil pour le travail ici. Malheureusement, pour des raisons en dehors de la portée de cette question, je ne vais pas l'utiliser. J'ai donc commencé à inventer des Chameaux comme des solutions, qui est de savoir comment je suis arrivé à la Goyave est EventBus. Mais ça pourrait ne pas être un substitut approprié.

Je suppose que je suis à la recherche pour le problème de classification que le Event Bus modèle résout, et puis j'ai besoin de déterminer si cela correspond à mon cas d'utilisation ici.

InformationsquelleAutor IAmYourFaja | 2013-02-07