AMQP (Advanced Message Queuing Protocol) est un protocole de communication asynchrone, orienté messages, utilisable avec des clients développés dans pas mal de langages.
Version 0.9
La version 0.9 est essentiellement utilisée dans RabbitMQ.
Il est basé sur un modèle à 2 niveaux, avec des exchanges pour la publication des messages, des queues pour leur consommation et un système de routage entre eux.
Version 1.0
La version 1.0 s’en est éloigné. Il se concentre sur la partie communication, avec le transport et le format des messages. Il laisse plus de liberté à l’implémentation du broker. Il semble même qu’il soit compatible avec une architecture sans broker.
De ce fait, on a une bonne compatibilité entre JMS (API) et AMQP (protocole).
Implémentations
-
Apache Qpid (semble être en sommeil)
-
Apache ActiveMQ (et Artemis)
-
OW2 Joram
-
SwiftMQ
Références