J'ai un module qui fonctionne de manière autonome dans un JVM
(pas de conteneurs) et communique avec d'autres modules via JMS
. Mon module est à la fois producteur dans une file d'attente et consommateur dans une file d'attente différente. J'ai donc besoin de mettre ce module en cluster, à la fois pour des raisons de HA et pour des raisons de charge de travail, et je vais probablement utiliser Terracotta + Hibernate pour mettre en cluster mes entités. Actuellement, lorsque mon application démarre, elle lance un thread (via Executors.newSingleThreadExecutor()
) qui sert de consommateur (je peux joindre un échantillon de code réel si nécessaire et nécessaire).Clustering de module et JMS
Ce que je compris à la lecture des questions est ici que si je viens de commencer mon module sur N
différent JVMs
alors N
différents abonnés seront créés et chaque message dans la file d'attente arrivera à N
abonnés. Ce que je voudrais faire est d'avoir un seul d'entre eux (disons ce qui n'est pas important actuellement) traiter ce message et ainsi, en réalité, je peux traiter N
messages à la fois.
Comment cela peut-il/devrait-il être fait? Suis-je loin de la piste?
BTW, j'utilise OpenMQ
comme ma mise en œuvre, mais je ne sais pas si cela est pertinent.
Merci pour toute aide
Salut Tushar, merci pour votre aide. Qu'est-ce que 'Broadcast message'? Est-ce un type différent de message qui est envoyé sur une file d'attente JMS? Qu'avez-vous voulu dire par: "La file d'attente est utile pour la communication point à point n'est pas très efficace"? Merci – Ittai
Je voulais dire utiliser une communication basée sur des sujets à la place de la communication par file d'attente où vous devrez spécifier une destination en passant le message ou devrez implémenter une sorte de logique de routage pour acheminer le message à un consommateur spécifique. Critères. –
Salut Tushar, j'ai lu un peu sur Topic vs. File d'attente et vos solutions semblent excellentes. La seule chose que je n'ai pas comprise concerne le "Définir la validité du message ..." Pourquoi ai-je besoin de définir sa validité? Ne sera-t-il pas consommé par un consommateur par définition du mécanisme Topic? Ittai – Ittai