SNS vs SQS vs EventBridge
Distribuir, enfileirar ou rotear?
Três serviços de integração que aparecem juntos em quase toda arquitetura desacoplada. Uma pergunta resolve a maioria das questões: a mensagem precisa chegar a vários destinos ao mesmo tempo (SNS), precisa esperar por um consumidor (SQS) ou precisa ser roteada conforme o seu conteúdo (EventBridge)?
Amazon SNS
- Distribuir
- Publish/subscribe
- Entrega push a todos os assinantes
- E-mail, SMS, SQS, Lambda, HTTP
Amazon SQS
- Enfileirar
- Uma mensagem, um consumidor
- Consumo por pull, no ritmo do consumidor
- Absorve picos e evita perda de trabalho
Amazon EventBridge
- Rotear eventos
- Barramento com regras de correspondência
- Integra serviços AWS, aplicações e SaaS
- Também agenda execuções
Regra para a prova
Vários destinos ao mesmo tempo → SNS
Desacoplar e processar depois → SQS
Rotear por regra / evento de SaaS → EventBridge
Detalhes que costumam decidir a questão
- O padrão fan-out clássico combina SNS com várias filas SQS assinantes.
- Se a questão fala em "não perder a mensagem se o consumidor cair", pense fila.
- Se fala em "reagir a mudanças de estado de vários serviços", pense barramento de eventos.