Amazon SNS
Entra un mensaje, salen muchas copias: un megáfono para sistemas.
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.
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.