2010-10-25 34 views
3

Je travaille sur la mise à jour d'une configuration Mule existante et la tâche est de l'améliorer pour router les messages vers différents points de terminaison en fonction de certaines propriétés des messages, donc il serait bon d'avoir contre sur les deux options que j'ai à portée de main:Recommandation sur la configuration de la file d'attente Mule JMS

  1. Ajouter des propriétés sur le message, à l'aide du transformateur « message-propriétés de transformation » qui est ensuite utilisé par un « filtrage routeur » pour singulariser le message et mettez-le sur le bon point final. Cette option me permet d'utiliser une seule file d'attente pour toutes les destinations.

  2. Créer une file d'attente pour chaque destination et ainsi, au lieu d'ajouter une propriété pour un routage ultérieur, je me mets juste dans la file d'attente à la fois. C'est à dire. cette option signifierait une file d'attente par destination.

Tous les commentaires seraient les bienvenus. Y a-t-il des «meilleures pratiques» à cet égard?

Répondre

1

J'ai eu beaucoup de succès avec l'utilisation de votre première approche avec un routeur de filtrage. Cela réduit la cohésion entre les producteurs de messages et les consommateurs. Il forme une abstraction précieuse, de sorte que n'importe quel service peut laisser tomber aveuglément des messages dans la "boîte d'envoi" générique.

Nous en sommes venus à dépendre de mule pour le filtrage et le routage des messages, si bien que nous avons un cluster dédié de matériel pour faire seulement cela. En utilisant mule j'ai été en mesure d'obtenir des performances beaucoup plus grandes et ne pas avoir à maintenir des connexions à toutes les files d'attente. L'inconvénient sera d'avoir à gérer très soigneusement votre version d'objet de messagerie globalement, et de devoir garder un ensemble de transformateurs en main pour accepter et convertir des versions différentes si vous prévoyez de mettre à niveau seulement une partie de votre infrastructure.

merci, mat