DEV Community

Thiago da Silva Adriano
Thiago da Silva Adriano

Posted on

Amazon SNS e SQS

Amazon SNS (Simple Notification Service) – Tópico

É um serviço de mensageria “pub/sub” (publicar/assinar).

  • Você cria um tópico e vários sistemas podem assinar esse tópico.
  • Quando uma mensagem é publicada no tópico, todos os assinantes recebem.

Usos comuns:

  • Notificações em massa (ex.: mandar e-mails, SMS, push, ou disparar eventos para vários sistemas).
  • Distribuir eventos para diferentes serviços (ex.: Lambda, SQS, HTTP endpoints).

Pense no SNS Tópico como um megafone: quem publica fala uma vez, e todos que estão ouvindo recebem.


Amazon SQS (Simple Queue Service) – Fila

É um serviço de filas (mensageria assíncrona ponto-a-ponto).

  • Uma fila recebe mensagens e os consumidores (aplicações, workers, Lambdas, etc.) processam as mensagens uma por uma.
  • Diferente do SNS, em uma fila a mensagem é entregue apenas uma vez para um consumidor (não broadcast).

Usos comuns:

  • Processar pedidos de forma assíncrona (ex.: pedidos de compra, geração de relatórios, envio de e-mails).
  • Desacoplar sistemas (produtor não precisa esperar o consumidor processar).

Pense na SQS Fila como uma fila de supermercado: cada mensagem (item) espera até que um caixa (consumidor) atenda.


Resumindo a diferença

  • SNS (Tópico) → Vários consumidores recebem a mesma mensagem.
  • SQS (Fila) → Um consumidor processa a mensagem (ou mais consumidores competindo, mas cada mensagem vai para apenas um).

Top comments (0)