Na arquitetura de nuvem moderna, as aplicações são dissociadas em componentes essenciais independentes, que são mais fáceis de desenvolver, implantar e manter. As filas de mensagens disponibilizam recursos de comunicação e coordenação para essas aplicações distribuídas.
As filas de mensagens podem simplificar bastante a codificação de aplicações dissociadas e aumentar a performance, a confiabilidade e a escalabilidade. Você também pode combinar filas de mensagens com um sistema de mensagens de Pub/Sub em um padrão fanout.
Para começar a usar o Amazon Simple Queue Service (SQS), bastam apenas três comandos simples.
Experimente o Amazon SQS gratuitamenteO nível gratuito da AWS inclui 1 milhão de solicitações com o Amazon Simple Queue Service (SQS).
As filas de mensagens permitem a comunicação assíncrona, o que significa que os endpoints que produzem e consomem mensagens interagem com a fila e não entre si. Os produtores podem adicionar solicitações à fila sem esperar que elas sejam processadas. Os consumidores processam mensagens somente quando elas estão disponíveis. Nenhum componente do sistema fica parado esperando por outro, o que otimiza o fluxo de dados.
As filas tornam seus dados persistentes e reduzem os erros que ocorrem quando diferentes partes do sistema ficam off-line. Com a separação de componentes diferentes em filas de mensagens, você aumenta a tolerância a falhas. Se uma parte do sistema estiver inacessível, a outra ainda poderá continuar interagindo com a fila. A fila em si também pode ser espelhada para obter ainda mais disponibilidade.
As filas de mensagens permitem escalar com precisão onde necessário. Quando as workloads atingem o pico, várias instâncias da sua aplicação podem adicionar solicitações à fila sem risco de colisão. À medida que suas filas ficam mais longas com essas solicitações recebidas, você pode distribuir a workload por uma frota de consumidores. Produtores, consumidores e a própria fila podem crescer e diminuir conforme a demanda.
As filas de mensagens removem dependências entre componentes e simplificam bastante a codificação de aplicações dissociadas. Os componentes de software não são sobrecarregados pelo código de comunicação e podem ser projetados para executar uma função empresarial diferente.
As filas de mensagens são uma maneira elegante e simples de dissociar sistemas distribuídos como aplicações monolíticas, microsserviços ou arquiteturas sem servidor.
Use as filas de mensagens para dissociar aplicações monolíticas. Em vez de executar várias funções em um único executável, diversos programas podem trocar informações enviando mensagens entre processos, facilitando o teste, a depuração, a evolução e a escalabilidade.
Os padrões de integração de microsserviços baseados em eventos e mensagens assíncronas otimizam a escalabilidade e a resiliência. Use serviços de filas de mensagens para coordenar vários microsserviços, notificar microsserviços quanto a alterações de dados ou como canal de eventos para processar dados de IoT e sociais em tempo real.
Depois de desenvolver microsserviços sem servidores, implantar em servidores ou instalar software de qualquer tipo, você pode usar filas de mensagens para fornecer notificações sem servidor confiáveis e escaláveis, comunicações entre processos e visibilidade de funções sem servidor e PaaS.
Comece a usar gratuitamente com apenas três comandos simples.