# Amazon SNS

> Entra un mensaje, salen muchas copias: un megáfono para sistemas.

- Nivel: Intermedio
- Temas: AWS
- URL: https://tidbit.legios.com.ar/es/amazon-sns/
- En inglés: [Amazon SNS](https://tidbit.legios.com.ar/amazon-sns/)

**Amazon SNS** (Simple Notification Service) es un servicio de publicación y suscripción. Creás un **topic**, varios suscriptores se anotan, y cada mensaje que se publica en el topic les llega a todos a la vez. Un suscriptor puede ser una función AWS Lambda, una cola de Amazon SQS, un endpoint HTTPS, una dirección de email o un número de teléfono (SMS).

La diferencia con una cola: Amazon SQS le entrega cada mensaje a un solo consumidor; un topic le copia cada mensaje a todos los suscriptores. Se suelen combinar: SNS reparte un evento a varias colas SQS, cada una de un equipo distinto, y cada equipo lo procesa a su ritmo.

Ejemplo: cuando se paga un pedido, la tienda publica 'pedido 4521 pagado' en un topic. Lo recibe la cola del depósito, la función que factura, el pipeline de analítica, y el cliente recibe un SMS. El código del checkout publicó una sola vez y no tiene idea de quién escucha.

SNS es también la forma en que las alarmas de Amazon CloudWatch llegan a las personas: la alarma publica en un topic, y el topic le manda un email o un mensaje a quien esté de guardia.

## Una analogía

Una lista de difusión de WhatsApp. Escribís el mensaje una vez; cada contacto de la lista recibe su propia copia y hace con ella lo que quiera.

## Para quedarse

- Publicás una vez y les llega a todos los suscriptores al mismo tiempo (fan-out).
- Los suscriptores pueden ser código (Lambda, SQS, HTTPS) o personas (email, SMS, notificaciones push).
- SNS no guarda mensajes para después: si nadie está suscripto cuando publicás, el mensaje se pierde.
- Con filtros, cada suscriptor recibe solo los mensajes que le interesan.

## Para seguir leyendo

- [¿Qué es Amazon SNS? (documentación oficial)](https://docs.aws.amazon.com/es_es/sns/latest/dg/welcome.html)
- [Página de Amazon SNS](https://aws.amazon.com/es/sns/)

## Términos relacionados

- [AWS Lambda](https://tidbit.legios.com.ar/es/aws-lambda/): Correr un pedazo de código solo cuando pasa algo, sin ningún servidor que administrar.
- [Amazon SQS](https://tidbit.legios.com.ar/es/amazon-sqs/): Una fila de espera para mensajes entre programas, para que ninguno se pierda.
- [HTTPS](https://tidbit.legios.com.ar/es/https/): El candadito del navegador: tráfico web que nadie en el medio puede leer.
- [Amazon CloudWatch](https://tidbit.legios.com.ar/es/amazon-cloudwatch/): El tablero y el sistema de alarmas que vigila todo lo que corre en tu cuenta de AWS.
