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.