Escolher uma solução de fila de mensagens
As filas de Armazenamento e as filas de Barramento de Serviço têm um conjunto de recursos um pouco diferente. É possível escolher um deles ou ambos, de acordo com as necessidades de sua solução específica.
Ao determinar qual tecnologia de enfileiramento se ajusta ao propósito de uma determinada solução, os arquitetos e desenvolvedores de soluções deverão considerar essas recomendações.
Considerar usar filas de Barramento de Serviço
Como arquiteto/desenvolvedor de soluções, você deve considerar o uso das filas do Barramento de Serviço quando:
- Sua solução precisar receber mensagens sem a necessidade de sondar a fila. Com o Barramento de Serviço, é possível obter esse cenário usando uma operação de recebimento de sondagem longa com protocolos baseados em TCP compatíveis com o Barramento de Serviço.
- Sua solução exigir que a fila forneça uma entrega ordenada PEPS (primeiro a entrar, primeiro a sair).
- Sua solução precisar dar suporte à detecção automática de duplicatas.
- Você desejar que seu aplicativo processe mensagens como fluxos paralelos de longa execução (mensagens associadas a um fluxo usando a propriedade ID de sessão na mensagem). Nesse modelo, cada nó no aplicativo de consumo compete por fluxos, em oposição às mensagens. Quando um fluxo é fornecido a um nó de consumo, o nó pode examinar o estado do fluxo do aplicativo usando transações.
- Sua solução exigir comportamento transacional e atomicidade ao enviar ou receber várias mensagens de uma fila.
- Seu aplicativo manipula mensagens que podem exceder 64 KB, mas provavelmente não se aproximarão do limite de 256 KB ou 1 MB, dependendo da camada de serviço escolhida (embora as filas do Barramento de Serviço possam lidar com mensagens de até 100 MB).
- Você tiver que lidar com a necessidade de fornecer um modelo de acesso baseado em função às filas e diferentes direitos/permissões para remetentes e destinatários.
Considerar usar filas de Armazenamento
Como arquiteto/desenvolvedor de soluções, você deve considerar o uso das filas do Armazenamento quando:
- Seu aplicativo precisar armazenar mais de 80 GB de mensagens em uma fila.
- Seu aplicativo desejar acompanhar o progresso do processamento de uma mensagem na fila. Isso será útil caso haja falha no processamento de trabalho de uma mensagem. Outro trabalho poderá usar essas informações para prosseguir do ponto em que o trabalho anterior parou.
- Você precisar de logs do servidor de todas as transações executadas em suas filas.