Courtiers de messages
Arrière-plan noir et bleu
Courtiers de messages

Les courtiers de messages sont une technologie de communication entre applications qui permet de créer un mécanisme d'intégration commun pour prendre en charge des architectures cloud natives ou hybrides, basées sur des microservices et sans serveur.


Qu'est-ce qu'un courtier de messages ?

Un courtier de messages est un logiciel qui permet aux applications, aux systèmes et aux services de communiquer entre eux et d'échanger des informations. Pour ce faire, le courtier de messages traduit les messages entre les protocoles de messagerie formels. Ainsi, des services interdépendants peuvent communiquer directement entre eux, même s'ils ont été écrits dans des langages différents ou mis en œuvre sur des plateformes différentes.

Les courtiers de messages sont des modules logiciels faisant partie de solutions basées sur un middleware de messagerie ou un middleware orienté message (MOM). Ce type de logiciel intermédiaire fournit aux développeurs un moyen normalisé de gérer le flux de données entre les composants d'une application, afin qu'ils puissent se concentrer sur sa logique centrale. Il peut servir de couche de communications distribuées qui permet aux applications réparties sur de multiples plateformes de communiquer entre elles à l'interne.

Les courtiers de messages peuvent valider, stocker, acheminer et distribuer les messages vers les destinations appropriées. Ils servent d'intermédiaires entre d'autres applications, permettant aux expéditeurs d'envoyer des messages sans savoir où se trouvent les destinataires, s'ils sont actifs ou non, ni connaître leur nombre, il en découle une simplification du découplage des processus et des services au sein des systèmes.

Afin d'assurer le stockage fiable des messages et d'en garantir la déliverabilité, les courtiers de messages reposent généralement sur une sous-structure ou un composant appelé file d'attente de messages , qui stocke et organise les messages jusqu'à ce que les applications consommatrices puissent les traiter. Dans une file d'attente de messages, les messages sont stockés selon l'ordre exact dans lequel ils ont été transmis et y restent jusqu'à la confirmation de leur réception.

La messagerie asynchrone (15:11) fait référence au type de communication entre applications facilitée par les courtiers de messages. Elle évite la perte de données importantes et permet aux systèmes de continuer à fonctionner, même en cas de problèmes de connectivité intermittente ou de temps d'attente, fréquents sur les  réseaux publics. La messagerie asynchrone garantit que les messages seront distribués juste une fois (et non pas plusieurs) dans l'ordre correct par rapport aux autres messages.

Les courtiers de messages peuvent inclure des gestionnaires de files d'attente pour gérer les interactions entre plusieurs files d'attente de messages, ainsi que des services assurant des fonctionnalités de routage de données, de conversion de messages, de persistance et de gestion de l'état des clients.

Modèles de courtier de messages

Les courtiers de messages offrent deux modèles de distribution de messages de base ou types de messagerie :

  • Messagerie point-à-point : Il s'agit du modèle de distribution utilisé dans les files d'attente de messages avec une relation un à un entre l'expéditeur et le destinataire du message. Chaque message de la file d'attente est envoyé à un seul destinataire et n'est utilisé qu'une fois. La messagerie point-à-point est utilisée lorsqu'un message ne doit être traité qu'une seule fois. Le traitement des salaires et des transactions financières sont des exemples de cas d'utilisation appropriés pour ce style de messagerie. Dans ces systèmes, les expéditeurs et les destinataires doivent avoir la garantie que chaque paiement sera envoyé une fois et rien qu'une fois.
  • Messagerie publication/abonnement : Dans ce modèle de distribution des messages, souvent appelé « publication/abonnement », le créateur de chaque message le publie dans une rubrique, et plusieurs consommateurs de messages s'abonnent aux rubriques dont ils veulent recevoir les messages. Tous les messages publiés dans une rubrique sont distribués à toutes les applications qui y sont abonnées. Il s'agit d'une méthode de distribution de type diffusion, dans laquelle il existe une relation de type « un à plusieurs » entre le diffuseur du message et ses consommateurs. Par exemple lorsqu'une compagnie aérienne diffuse des mises à jour sur ses horaires d'atterrissage ou les délais de ses vols, de nombreux acteurs peuvent bénéficier de ces informations : le personnel au sol responsable des opérations d'entretien et de ravitaillement des avions, les bagagistes, le personnel navigant commercial et les pilotes se préparant pour le voyage suivant de l'avion ainsi que l'équipe gérant les affichages visuels pour informer le public. L'utilisation d'un style de messagerie publication/abonnement est adaptée à ce type de scénario.

Courtiers de messages dans les architectures de cloud

Les applications cloud natives sont construites pour tirer parti des avantages inhérents aux solutions de cloud computing, y compris la flexibilité, l'évolutivité et le déploiement rapide. Ces applications sont conçues à partir de petits composants discrets et réutilisables appelés  microservices. Chaque microservice est déployé et peut s'exécuter indépendamment des autres. Cela signifie que chacun d'entre eux peut être mis à jour, mis à l'échelle ou redémarré sans affecter les autres services du système. Souvent placés dans des conteneurs, les microservices fonctionnent ensemble pour former une application complète, bien que chacun ait sa propre pile, y compris une base de données et un modèle de données qui peuvent être différents des autres.

Les microservices doivent avoir un moyen de communiquer entre eux, afin de fonctionner de concert. Les courtiers de messages sont l'un des mécanismes qu'ils utilisent pour créer ce réseau principal de communications partagées.

Les courtiers de messages sont souvent utilisés pour gérer les communications entre les systèmes sur site et les composants cloud dans les environnements de  cloud hybride . L'utilisation d'un courtier de messages permet de mieux contrôler les communications interservices, en garantissant que les données sont envoyées de manière sûre, fiable et efficace entre les composants d'une application. Les courtiers de messages peuvent jouer un rôle similaire dans l'intégration d'environnements  multicloud , en permettant la communication entre les charges de travail et les environnements d'exécution résidant sur des plateformes différentes. Ils sont également bien adaptés aux environnements  informatiques sans serveur, dans lesquels des services individuels hébergés dans le cloud sont exécutés à la demande.


Agents de messagerie versus API

Les API REST  sont couramment utilisées pour les communications entre microservices. Le terme Representational State Transfer (REST) définit un ensemble de principes et de contraintes que les développeurs peuvent suivre lors de la création de services Web. Les services qui y adhèrent pourront communiquer via un ensemble d'opérateurs et de demandes sans état partagés et uniformes. L'interface de programme d'application (API) désigne le code sous-jacent qui, s'il est conforme aux règles REST, permet aux services de communiquer entre eux.

Les API REST utilisent le protocole HTTP pour communiquer. HTTP étant le protocole de transport standard de l'Internet public, les API REST sont largement connues, fréquemment utilisées et largement interopérables. Toutefois, HTTP est un protocole de demande/réponse. Il est donc préférable de l'utiliser dans des situations qui nécessitent une demande/réponse synchrone. Cela signifie que les services effectuant des demandes via des API REST doivent être conçus pour attendre une réponse immédiate. Si le client qui reçoit la réponse est hors service, le service d'envoi est bloqué pendant qu'il attend la réponse. Une logique de basculement et de traitement des erreurs doit être intégrée dans les deux services.

Les courtiers de messages permettent des communications asynchrones entre les services, de sorte que le service expéditeur n'a pas besoin d'attendre la réponse du service destinataire. ce qui améliore la tolérance aux pannes et la résilience des systèmes dans lesquels ils sont employés. En outre, l'utilisation de courtiers de messages facilite la mise à l'échelle des systèmes, car un modèle de messagerie publication/abonnement peut facilement prendre en charge un nombre variable de services. Les courtiers de messages surveillent également les statuts des consommateurs.


Courtiers de messages versus plateformes de diffusion d'événements en flux

Alors que les courtiers de messages peuvent prendre en charge au moins deux modèles de messagerie, y compris les files d'attente de messages et le modèle publication/abonnement, les plateformes de streaming d'événements ne proposent que des modèles de distribution de type publication/abonnement. Conçues pour être utilisées avec de gros volumes de messages, les plateformes de diffusion d'événements en flux sont facilement extensibles. Elles sont capables de classer les flux d'enregistrements dans des catégories appelées rubriques et de les stocker pendant une durée prédéterminée. Toutefois, contrairement aux courtiers de messages, les plateformes de streaming d'événements ne peuvent pas garantir la déliverabilité des messages ni savoir quels consommateurs ont reçu les messages.

Les plateformes de streaming d'événements offrent une plus grande évolutivité que les courtiers de messages, mais moins de fonctions garantissant la tolérance aux pannes (comme le renvoi des messages), ainsi que des fonctionnalités plus limitées de routage et de mise en file d'attente des messages.

En savoir plus à propos de l'architecture pilotée par les événements.


Courtier de messages versus bus de service d'entreprise (ESB)

Un bus de service d'entreprise (ESB) est un modèle d'architecture parfois utilisé dans les architectures orientées service mises en œuvre dans les entreprises. Dans un bus ESB, une plateforme logicielle centralisée combine les protocoles de communication et les formats de données en un « langage commun » que tous les services et applications de l'architecture peuvent partager. Il peut, par exemple, convertir les demandes qu'il reçoit d'un protocole (tel que XML) dans un autre (tel que JSON). Les bus ESB transforment les contenus de leurs messages à l'aide d'un processus automatisé. La plateforme logicielle centralisée gère également d'autres logiques d'orchestration, telles que la connectivité, le routage et le traitement des demandes.

Les infrastructures ESB sont cependant complexes, potentiellement difficiles à intégrer, et leur maintenance peut s'avérer coûteuse. Il est difficile de les dépanner lorsque des problèmes surviennent dans les environnements de production, leur mise à l'échelle n'est pas simple et leur mise à jour est fastidieuse.

Les courtiers de messages constituent une alternative « allégée » aux ESB et proposent une fonctionnalité similaire (un mécanisme de communication interservices), de manière simplifiée et à moindre coût. Ils sont bien adaptés aux architectures de microservices qui se sont répandues à mesure que les ESB perdaient leur attrait.


Cas d'utilisation des courtiers de messages

La mise en œuvre de courtiers de messages permet de répondre à une multitude de besoins métier dans tous les secteurs et dans divers environnements informatiques d'entreprise. Ils sont utiles quand et là où il est nécessaire de disposer d'une communication fiable entre applications et de garantir la déliverabilité des messages.

Les courtiers de messages sont généralement utilisés dans les scénarios suivants :

  • Transactions financières et traitement des paiements : Il est essentiel de s'assurer que les paiements sont envoyés une fois et rien qu'une fois. L'utilisation d'un courtier de messages pour gérer les données de ces transactions offre la garantie que les informations relatives aux paiements ne seront ni perdues ni accidentellement dupliquées, fournit une preuve de réception et permet aux systèmes de communiquer de manière fiable même lorsque certains réseaux intermédiaires sont hors service.
  • Traitement et exécution des commandes e-commerce :  Si vous menez votre activité en ligne, la puissance de la réputation de votre marque dépend de la fiabilité de votre site web et de votre plateforme e-commerce. La capacité des courtiers de messages à améliorer la tolérance aux pannes et à garantir que les messages sont consommés une fois et une seule fait d'eux un choix naturel pour le traitement des commandes en ligne.
  • Protection des données hautement sensibles au repos et en transit :  Si votre industrie est très réglementée ou si votre activité fait face à des risques de sécurité importants, choisissez une solution de messagerie avec des capacités de chiffrement bout en bout.

Courtiers de messages et IBM Cloud

Les courtiers de messages prennent de l'importance à mesure que les organisations modernisent leurs applications  dans le cadre de leur parcours vers le cloud. La plupart des entreprises les plus prospères au monde, dont 85 % des entreprises du classement Fortune 100, s'appuient sur les fonctionnalités de courtier de messages d'IBM, conçus pour prendre en charge les environnements de développement agiles actuels, les infrastructures basées sur les microservices et le cloud hybride, ainsi qu'un large éventail de types de système et d'exigences de connectivité.

Accédez à l'étape suivante : découvrez IBM Cloud Pak pour l'intégration, qui repose sur la capacité de base de IBM MQ, la solution de messagerie d'entreprise leader du marché.

Obtenez un compte IBM Cloud  dès aujourd'hui.


Solutions connexes

IBM MQ

IBM MQ offre des fonctionnalités de messagerie adaptées aux besoins des entreprises, qui permettent de déplacer de manière contrôlée et sécurisée les informations entre les applications.


Automatiser les intégrations

Connectez les applications, les services et les données avec IBM Cloud Pak for Integration, la plateforme d'intégration la plus complète du marché.