Section courante

A propos

Section administrative du site

Fiche technique
Catégorie : Serveur de messagerie
Auteur : LShift et CohesiveFT
Licence : MPL 1.1
Date de publication : 2007 à maintenant

Sommaire

RabbitMQ est un serveur de messagerie open source basé sur le protocole AMQP (Advanced Message Queuing Protocol). Il agit comme un intermédiaire de communication entre différentes applications ou services, en permettant l'envoi, la réception et le traitement asynchrone de messages. Concrètement, il reçoit des messages d'un producteur (publisher), les stocke dans des files d'attente (queues), et les transmet ensuite à un ou plusieurs consommateurs (consumers). Cette approche permet de découpler les composants d'un système, ce qui augmente sa résilience, sa scalabilité et sa maintenabilité. RabbitMQ est souvent utilisé dans les architectures microservices, les systèmes de traitement de données ou les chaînes de traitement d'événements.

RabbitMQ offre de nombreuses fonctionnalités avancées, telles que le routage de messages via des "exchanges", le contrôle de livraison (acknowledgment), la persistance des messages sur disque, ainsi que le support des transactions. Il prend en charge non seulement AMQP, mais aussi d'autres protocoles comme MQTT et STOMP, ce qui le rend polyvalent et adaptable à divers contextes. Son interface d'administration web facilite la surveillance des files, des connexions et des taux de traitement, ce qui en fait un outil très apprécié des DevOps. De plus, son modèle de plugiciels permet d'ajouter des fonctionnalités comme la haute disponibilité, l'authentification externe ou la réplication.

En termes d'infrastructure, RabbitMQ peut être déployé sur un seul serveur ou en unité d'allocation, pour améliorer la tolérance aux pannes et la charge. Il est écrit en Erlang, un langage optimisé pour les systèmes distribués et temps réel, ce qui lui confère une grande robustesse. Il fonctionne sur la plupart des systèmes d'exploitation (Linux, Windows, macOS) et s'intègre aisément avec des langages populaires comme Java, Python, PHP, Node.js ou C#. En somme, RabbitMQ est une solution mature, fiable et très utilisée dans les systèmes où la communication asynchrone entre composants est essentielle.




Dernière mise à jour : Samedi, le 16 septembre 2023