Nous sommes en train d'écrire une application pour laquelle IT a déjà acheté du matériel. Leur approche consistait à acheter du gros matériel sur lequel nous allions nous déployer. Afin d'ajouter plus de traitement, ils prévoient d'ajouter des serveurs supplémentaires avec des logiciels identiques. Afin d'accommoder cette conception, nous utilisons Terracotta pour fournir la possibilité d'exécuter plusieurs JVM comme s'il s'agissait d'une grande machine. Peu importe si c'est une sage façon d'aller (ce dont je ne suis toujours pas convaincu), c'est la situation à laquelle je fais face.Est-ce que Terracotta fait du JMS une couche inutile?
De toute façon, nous avons une partie de l'application qui utilise une file d'attente de type producteur/consommateur standard. Avec Terracotta, nous sommes en mesure de créer une seule file d'attente qui fonctionne avec plusieurs JVM. C'est assez lisse et ça marche bien.
Mais maintenant, nous trouvons des opportunités supplémentaires pour exécuter des processus asynchrones. Pour rendre la logique de mise en file d'attente plus cohérente, nous envisageons d'utiliser JMS pour extraire la logique commune. Puisque nous n'allons pas utiliser JMS comme une file d'attente distante (au moins dans un avenir prévisible), je me demande si JMS ne fait qu'ajouter une complexité inutile.
Des suggestions ou des idées? Devrions-nous simplement continuer à créer des files d'attente en tant que structures concurrentes, ou les traiter comme des objets distincts et potentiellement distants?