O que é o SQS?
O Amazon Simple Queue Service (SQS) é um serviço de filas de mensagens totalmente gerenciado. Ele permite que componentes de uma aplicação se comuniquem de forma assíncrona, sem precisar estar disponíveis ao mesmo tempo.
O SQS é o serviço de desacoplamento por excelência na AWS — quando você precisa que dois sistemas se comuniquem sem dependência direta, use SQS.
Como funciona
Produtor (EC2, Lambda, App)
│
│ envia mensagem
▼
[ Fila SQS ] ←── mensagem fica armazenada até ser processada
│
│ consome mensagem
▼
Consumidor (EC2, Lambda, ECS)
Tipos de fila
| Tipo | Ordem | Duplicatas | Throughput | Uso ideal |
|---|---|---|---|---|
| Standard Queue | Melhor esforço (não garantida) | Possível (at-least-once) | Ilimitado | Alta escala, ordem não importa |
| FIFO Queue | Garantida (first-in, first-out) | Exatamente uma vez | 300–3.000 msg/s | Pedidos, transações financeiras |
Conceitos importantes
- Visibility Timeout: após um consumidor receber uma mensagem, ela fica invisível para outros consumidores por um período (padrão: 30s). Se não for deletada nesse tempo, volta à fila.
- Message Retention: mensagens ficam na fila de 1 minuto a 14 dias (padrão: 4 dias).
- Dead Letter Queue (DLQ): fila separada para mensagens que falharam N vezes. Permite investigar erros sem perder mensagens.
- Long Polling: o consumidor aguarda até 20s por mensagens, reduzindo chamadas vazias e custos.
- Tamanho máximo da mensagem: 256 KB. Para mensagens maiores, armazene no S3 e envie o link.
Casos de uso
- Processar pedidos de e-commerce sem perder nenhum (FIFO)
- Desacoplar microserviços — se um serviço cair, as mensagens ficam na fila
- Processar uploads de imagens em background (Standard)
- Buffer entre uma API de alta velocidade e um banco de dados mais lento
- Distribuir tarefas entre múltiplos workers (EC2 ou Lambda)
SQS vs SNS
| SQS | SNS | |
|---|---|---|
| Modelo | Pull (consumidor busca) | Push (SNS entrega) |
| Destinatários | Um consumidor por vez | Múltiplos assinantes simultâneos |
| Persistência | Sim (até 14 dias) | Não (entrega imediata ou perde) |
| Uso típico | Processamento assíncrono | Notificações em tempo real |
🎯 Pontos importantes para o exame CLF-C02
- SQS = desacoplamento de componentes — palavra-chave no exame
- Standard: alta escala, ordem não garantida, possível duplicata
- FIFO: ordem garantida, sem duplicatas, throughput limitado
- Visibility Timeout evita que dois consumidores processem a mesma mensagem
- Dead Letter Queue captura mensagens que falharam repetidamente
- Mensagens ficam na fila até 14 dias
- SQS é pull — o consumidor busca as mensagens (diferente do SNS que é push)
