Je lisais cette question et la réponse correspondante et j'ai été confondu par le terme courtier JMS dans la première ligne de la réponse:
MS (ActiveMQ est une implémentation de courtier JMS)
Je veux savoir ce qu'est exactement un JMS broker
et quelles sont ses responsabilités?
page Wikipedia sur JMS énumère plusieurs éléments dans l'écosystème JMS mais ne mentionne pas les courtiers en tant que tels.
Il n'y a pas vraiment de définition officielle de ce qu'est un courtier JMS, mais il existe une différence conceptuelle entre une file d'attente de messages et un courtier. Voici mon point de vue à ce sujet.
message broker
sera un processus distinct, éventuellement exécuté sur une machine distincte chargée d'exécuter le code de traitement des messages.La grande valeur des courtiers de messages est qu'ils peuvent faire des choses vraiment sympas pour vous pour la gestion simultanée des messages, le basculement pour la logique de traitement, le déploiement de la logique de traitement, la surveillance et la journalisation ... etc. Considérez un courtier de messages comme un spécialiste serveur d'application pour l'écriture de code de traitement des messages, éventuellement dans un langage personnalisé de haut niveau. Par exemple, IBM Message Broker peut être programmé dans un ESQL, une extension de SQL avec des diagrammes et des nœuds que vous connectez les uns aux autres. Les programmes écrits pour un borker de messages seront plus courts que si vous écriviez vous-même tout le code à l'aide de JMS standard.
Les courtiers peuvent être centralisés ou distribués, par exemple, vous pouvez avoir un courtier central à New York, et avoir des clients à Londres et à Hong Kong connectés. Ou vous pouvez faire distribuer le courtier et avoir une instance en cours d'exécution à Londres et à Hong Kong qui traite le message plus près de la source/destination du message, tout dépendra de votre infrastructure de gestion et des autres ressources comme les bases de données du courtier de messages a besoin de parler.