Alguém pode me explicar em quais casos de uso devo considerar o uso do AMQP, como, por exemplo, o RabbitMQ? Quais são os prós e contras?
Alguém pode me explicar em quais casos de uso devo considerar o uso do AMQP, como, por exemplo, o RabbitMQ? Quais são os prós e contras?
Respostas:
Imagine que você tem um serviço da web que pode aceitar muitos pedidos por segundo. Você também tem um sistema de contabilidade que faz muitas coisas, uma das quais está processando as solicitações provenientes do serviço da web.
Se você colocar uma fila entre o serviço da web e o sistema de contabilidade, poderá:
Obviamente, você pode ter situações mais complexas em que o número de seus aplicativos é muito maior que dois e precisa gerenciar a comunicação entre eles.
Além de fornecer um buffer entre um serviço da Web e outro serviço de back-end, as filas de mensagens podem ser usadas para cenários mais avançados. O Rabbit MQ (e outros produtos maduros da Fila de mensagens também conhecidos como MOM - Middleware Orientado a Mensagens) pode ser configurado para rotear e distribuir mensagens de acordo com regras diferentes.
Por exemplo, a técnica de roteamento Pub-Sub permite que uma única fonte envie uma mensagem e muitos ouvintes a recebam. Isso é comumente usado pelo software de negociação de ações para manter os usuários atualizados.
Também devido ao fato de a maioria das MOMs possuir sdks para vários idiomas e plataformas, elas podem ser usadas para integrar aplicativos gravados em plataformas diferentes.
Esses são apenas alguns dos cenários habilitados pelos MOMs.