Quando usar o protocolo Advanced Message Queuing, como o RabbitMQ? [fechadas]

44

Alguém pode me explicar em quais casos de uso devo considerar usando o AMQP como, por exemplo, RabbitMQ? Quais são os prós e contras?

    
por vbd 28.04.2012 / 10:25
fonte

2 respostas

25

Imagine que você tenha um serviço da web que aceite várias solicitações 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, você poderá:

  • possuem menos acoplamento entre os dois aplicativos, porque agora ambos os aplicativos precisam conhecer os parâmetros de configuração do sistema de gerenciamento de filas e o nome da fila. Aqui, o problema é que geralmente é mais provável que você mova para outro servidor algum aplicativo do que mova o sistema de gerenciamento de filas
  • se você receber muitas solicitações em um curto período de tempo, o sistema de contabilidade poderá processá-las de qualquer maneira
  • persista alguns pedidos se o número deles se tornar realmente enorme

Claro, você pode ter situações mais complexas, em que o número de seus aplicativos é muito maior que dois e você precisa gerenciar a comunicação entre eles.

    
por 28.04.2012 / 10:56
fonte
16

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 do Message Queue, também chamados de MOM - Message Oriented Middleware) podem ser configurados 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 faça com que muitos ouvintes a recebam. Isso é comumente usado por softwares de negociação de ações para manter os usuários atualizados.

Também devido ao fato de que a maioria dos MOMs possui sdks para vários idiomas e plataformas, eles podem ser usados para integrar aplicativos que estão escritos em plataformas diferentes.

Estes são apenas alguns dos cenários habilitados pelos MOMs.

    
por 28.04.2012 / 14:55
fonte