trilha

AWS SAA-C03/07 - Desacoplamento e Integração2 min

SNS

Perguntas-guia

Responda com suas palavras antes de ler o resto da nota.

  • Que problema isso resolve?
  • Quando usar / quando NÃO usar?
  • Qual o principal trade-off (custo, latência, operação)?
  • Que sinal no enunciado aponta pra isso?
  • Com o que isso é confundido na prova?

Conceito

Pub/sub: um Publish num tópico entrega para todos os inscritos, em push.

Tipos de subscriber

SQS · Lambda · HTTP/HTTPS endpoint · e-mail · SMS · Kinesis Data Firehose · Mobile push (SNS Mobile Push).

Até 12,5 milhões de inscritos por tópico e 100 mil tópicos por conta.

O padrão fan-out

              ┌→ SQS fila-faturamento → worker A
S3 event → SNS ┼→ SQS fila-analytics   → worker B
              └→ SQS fila-notificacao → worker C

Um evento, vários sistemas, cada um processando no próprio ritmo e com a própria DLQ. É a resposta quando o enunciado diz "vários sistemas precisam reagir ao mesmo evento".

Recursos que caem

  • Message filtering: cada subscription tem um filtro por atributo — o subscriber só recebe o que interessa, sem filtrar no código.
  • SNS FIFO: mantém ordem e deduplicação; só entrega pra SQS FIFO.
  • Retry policy e DLQ por subscription.
  • Message Data Protection identifica e mascara dado sensível na mensagem.
  • Criptografia com KMS e resource policy no tópico (permite cross-account).

Trade-offs

SNS não persiste a mensagem: ele tenta entregar e, se o subscriber falha além da política de retry, a mensagem se perde (ou vai pra DLQ). Por isso o padrão de produção é SNS → SQS: o SNS distribui, a fila garante durabilidade e retry.

Comparado ao EventBridge, o SNS é mais simples, mais barato e com menor latência; o EventBridge entrega filtro rico por conteúdo, schema registry, integração com SaaS e archive/replay. Se a questão pede roteamento por regra ou replay, é EventBridge.

Sinais de prova

  • "Vários sistemas precisam do mesmo evento" → SNS fan-out (→ SQS)
  • "Notificar por e-mail/SMS quando um alarme disparar" → SNS
  • "Cada consumidor quer só um subconjunto das mensagens" → message filtering
  • "Garantir que nenhum consumidor perca o evento" → SNS → SQS, não SNS direto
  • "Ordem preservada no fan-out" → SNS FIFO → SQS FIFO
  • "Rotear por conteúdo complexo, integrar SaaS, reprocessar histórico" → EventBridge

Relacionado


Parte de 07 - MOC Desacoplamento e Integração · Documentação AWS

Buscar

Busca por título, seção e texto das notas