Amazon SQS significa Amazon Simple Queue Service.

É o serviço gerenciado de filas da AWS. Ele permite desacoplar produtores e consumidores usando mensagens armazenadas temporariamente.

A documentação da AWS descreve o SQS como serviço que armazena mensagens em infraestrutura redundante; Standard Queues oferecem entrega pelo menos uma vez, enquanto FIFO Queues ajudam a evitar duplicidade dentro da janela de deduplicação e preservam ordem por grupo de mensagens.

Amazon SQS aparece quando sistemas precisam conversar sem ficarem grudados um no outro. Mensageria serve para desacoplar, absorver picos e lidar melhor com falhas.

O raciocínio central envolve produtor, consumidor, mensagem, retry e DLQ.


O que é

Amazon SQS é o serviço de filas da AWS.

Ele desacopla produtores e consumidores. O produtor envia mensagem; o consumidor processa depois.

SQS é fila.

Um componente envia mensagem. Outro processa depois.

Isso reduz acoplamento e ajuda a absorver picos.

Para um iniciante, fila é uma estrutura de espera. Em vez de um sistema exigir que outro responda imediatamente, ele coloca uma mensagem na fila. O consumidor pega essa mensagem quando tiver capacidade para processar.

Mensagem é o conteúdo enviado para a fila. Produtor é quem envia. Consumidor é quem lê e processa.


Por que existe

Amazon SQS existe para desacoplar partes de uma aplicação, absorver variação de carga e permitir comunicação assíncrona ou orientada a eventos. Sem mensageria, componentes ficam mais dependentes do tempo de resposta uns dos outros.


Como funciona

Fluxo:

  • produtor envia mensagem;
  • mensagem fica na fila;
  • consumidor recebe mensagem;
  • mensagem fica invisível por um tempo;
  • consumidor processa;
  • consumidor deleta mensagem

Se o consumidor falha e não deleta a mensagem, ela volta a ficar disponível depois do Visibility Timeout.

Tipos

SQS possui:

Conceitos Importantes

Como Funciona na prática

A mensagem fica na fila. Quando um consumidor recebe, ela fica invisível por um período chamado Visibility Timeout. Se for processada, o consumidor deleta. Se falhar, ela reaparece.

Tipos na prática

  • Standard Queue: alta escala, entrega pelo menos uma vez.
  • FIFO Queue: ordem por grupo e deduplicação.

Tradução dos termos

  • Queue: fila.
  • Message: mensagem armazenada temporariamente na fila.
  • Producer: sistema que envia mensagens.
  • Consumer: sistema que recebe e processa mensagens.
  • Visibility Timeout: período em que uma mensagem recebida fica escondida de outros consumidores.
  • DLQ: fila separada para mensagens que falharam muitas vezes.
  • Idempotência: capacidade de processar a mesma mensagem mais de uma vez sem gerar resultado duplicado incorreto.

Comunicação entre componentes

A diferença entre Comunicação Síncrona e Assíncrona explica por que filas como SQS ajudam a reduzir dependências diretas entre sistemas.

Fila como desacoplamento

Filas de Mensagens explicam a base do SQS: um componente envia mensagens e outro processa depois, sem ficarem presos um ao outro.

Mensagens entre sistemas

O SQS é uma aplicação prática de Mensageria, porque permite que componentes distribuídos troquem mensagens sem dependerem diretamente um do outro.

Mensageria na AWS

SQS é um dos principais serviços dentro de Serviços de Mensageria na AWS, usado quando componentes precisam trocar mensagens por fila.


Exemplo prático

Uma API pode receber uma solicitação, publicar uma mensagem em Amazon SQS e responder rapidamente ao usuário. Workers processam a fila depois. Se falharem, mensagens podem ser repetidas ou enviadas para Dead Letter Queue (DLQ).

Em outro cenário, Amazon SNS distribui uma mensagem para vários consumidores, enquanto Amazon EventBridge roteia eventos por padrão.


Diferenças importantes

Quando Usar

Use SQS para:

  • filas de trabalho;
  • processamento assíncrono;
  • desacoplamento;
  • retries;
  • buffer de picos;
  • integração entre microsserviços;
  • proteção de consumidores lentos.

Quando Usar na prática

  • filas de trabalho;
  • processamento assíncrono;
  • buffer de picos;
  • integração com Lambda;
  • reprocessamento com DLQ.

Pontos que Costumam Gerar Confusão

Quando o cenário envolve enviar e receber mensagens entre componentes distribuídos de aplicações, a resposta é Amazon SQS.


Cuidados

SQS Standard pode entregar mensagens mais de uma vez.

Consumidores precisam ser idempotentes.

Mensageria exige lidar com duplicidade, ordem, atraso, reprocessamento e observabilidade.

Não basta “colocar na fila”. O consumidor precisa ser idempotente, monitorado e preparado para falhas.

Standard Queue pode entregar mensagem duplicada. Consumidores precisam ser idempotentes.

SQS não é cache.

SQS não é DNS.

SQS não é migração de dados.

SQS é mensageria por fila.


Relação com outras notas

Relação com Lambda

AWS Lambda pode consumir mensagens de SQS por Event Source Mapping.

Isso permite que filas acionem processamento serverless.