AWS SNS
Servicio de mensajería pub/sub de AWS que distribuye mensajes a múltiples suscriptores simultáneamente, habilitando patrones de fan-out y notificaciones a escala.
seed#aws#sns#messaging#pub-sub#notifications#serverless
¿Qué es?
Amazon SNS (Simple Notification Service) es un servicio de mensajería pub/sub que envía mensajes a múltiples suscriptores simultáneamente. Un publicador envía un mensaje a un topic, y todos los suscriptores lo reciben.
SNS vs SQS
| Aspecto | SNS | SQS |
|---|---|---|
| Modelo | Pub/Sub (fan-out) | Queue (point-to-point) |
| Persistencia | No (push inmediato) | Sí (hasta 14 días) |
| Consumidores | Múltiples | Uno por mensaje |
| Uso típico | Notificaciones, fan-out | Desacoplamiento, buffering |
Patrón SNS + SQS (Fan-out)
Producer → SNS Topic → SQS Queue A → Consumer A
→ SQS Queue B → Consumer B
→ Lambda → Processing
→ Email → Notification
Tipos de suscriptores
- Lambda, SQS, HTTP/HTTPS endpoints
- Email, SMS
- Kinesis Data Firehose
- Mobile push notifications
Buenas prácticas
- Usar filtros de suscripción para que cada consumidor reciba solo los mensajes relevantes
- Habilitar dead-letter queues en las suscripciones SQS para mensajes que fallan repetidamente
- Preferir FIFO topics cuando el orden de los mensajes importa
¿Por qué importa?
SNS es el pegamento de las arquitecturas event-driven en AWS. Permite desacoplar productores de consumidores con pub/sub, fan-out a múltiples destinos y entrega a SQS, Lambda, HTTP y email. Es la pieza que conecta servicios sin crear dependencias directas.
Referencias
- SNS Documentation — AWS, 2024. Documentación oficial.
- SNS Message Filtering — AWS, 2024. Filtrado de mensajes por suscripción.
- SNS Pricing — AWS, 2024. Modelo de precios.