Quelqu'un peut-il m'expliquer dans quels cas d'utilisation je devrais envisager d'utiliser AMQP comme par exemple RabbitMQ? Quels sont les avantages et inconvénients?
Imaginez que vous disposez d'un service Web qui peut accepter de nombreuses demandes par seconde. Vous avez également un système comptable qui fait beaucoup de choses, dont l'une traite les demandes provenant du service Web.
Si vous mettez une file d'attente entre le service Web et le système comptable, vous pourrez:
Bien sûr, vous pourriez avoir des situations plus complexes où le nombre de vos applications est beaucoup plus grand que deux et vous devez gérer la communication entre elles.
En plus de fournir un tampon entre un service Web et un autre service principal, les files d'attente de messages peuvent être utilisées pour des scénarios plus avancés. Rabbit MQ (et d'autres produits Message Queue matures également appelés MOM - Message Oriented Middleware) peuvent être configurés pour acheminer et distribuer des messages selon différentes règles.
Par exemple, la technique de routage Pub-Sub permet à une seule source d'envoyer un message et à de nombreux auditeurs de le recevoir. Ceci est couramment utilisé par les logiciels de négociation d'actions pour garder les utilisateurs à jour.
En outre, étant donné que la plupart des MOM ont des SDK pour plusieurs langues et plates-formes, ils peuvent être utilisés pour intégrer des applications écrites sur différentes plates-formes.
Ce ne sont que quelques-uns des scénarios activés par les MOM.