MOM

Définition, exemples et bonnes pratiques

À retenir

  • Permet la communication asynchrone (l'expéditeur n'a pas besoin d'attendre la réponse pour continuer).
  • Assure le découplage : les applications deviennent indépendantes les unes des autres.
  • Garantit que les messages sont livrés même en cas de coupure temporaire du réseau.

Un MOM est un logiciel intermédiaire qui sert de boîte aux lettres intelligente entre plusieurs applications. Il permet à des programmes différents de s'échanger des informations sous forme de messages, sans avoir besoin d'être connectés en même temps ou de parler exactement le même langage technique.

Étymologie

Sigle de l'anglais Message-Oriented Middleware (interlogiciel orienté message). Le terme souligne son rôle de médiateur (middleware) dont l'unité de travail principale est le message électronique.

Exemples d'usage

  • RabbitMQ : un serveur de messages très utilisé pour distribuer des tâches entre plusieurs serveurs.
  • Apache Kafka : une plateforme capable de gérer des millions de messages par seconde pour de l'analyse de données en temps réel.
  • IBM MQ : une solution robuste souvent utilisée par les banques pour garantir que chaque transaction arrive à destination.

Cas d'usage

Il est utilisé dans les architectures modernes (microservices) pour que les différentes parties d'un site web communiquent de façon fluide. On s'en sert aussi pour traiter des tâches lourdes en arrière-plan : par exemple, envoyer des milliers d'e-mails sans ralentir la navigation des utilisateurs sur le site.

Bonnes pratiques

Il est crucial de configurer la persistance des messages pour éviter qu'ils ne disparaissent si le serveur redémarre. Il faut également surveiller la taille des files d'attente (queues) pour s'assurer qu'un retard de traitement ne sature pas la mémoire du système.

Synonymes

middleware de messagerie bus de messages gestionnaire de files d'attente

Antonymes

appel de procédure distante (RPC) communication synchrone couplage fort

Conseil

Pour bien comprendre, visualisez une file d'attente à la caisse d'un supermarché : les clients (messages) arrivent, attendent leur tour, et sont traités un par un par la caissière (l'application réceptrice). Si une deuxième caisse ouvre, le traitement va plus vite sans changer la nature des clients.

Questions fréquentes

Pourquoi utiliser un MOM plutôt qu'une connexion directe ?

Parce qu'un MOM permet de gérer les pannes : si l'application destinataire est temporairement éteinte, le MOM garde le message au chaud jusqu'à son retour.

Est-ce que c'est difficile à mettre en place ?

L'installation de base est simple, mais bien configurer la sécurité et la haute disponibilité demande des compétences en administration système.