Amazon SNS
Qué es: Amazon Simple Notification Service (SNS) publica un mensaje una vez y lo empuja (push) a todos los suscriptores de un tema (topic).
- Publicar y suscribirse (pub/sub): el productor publica en el tema sin saber quién escucha. Cada suscripción es un destino: una cola SQS, una función Lambda, un punto HTTP/S, un correo, un SMS o una notificación móvil.
- Abanico (fan-out): con colas SQS suscritas, cada cola recibe su copia y la procesa a su ritmo. Es el patrón SNS más SQS.
- Sin almacén: SNS reintenta la entrega, pero no guarda los mensajes para leerlos después, como haría una cola.
- Precio: siempre gratis cada mes 1 millón de publicaciones, 100.000 entregas HTTP/S y 1.000 correos.
Analogía: una lista de difusión del teléfono. Escribes una vez y el mensaje llega a todos los contactos de la lista. Dónde falla la analogía: en la lista, el mensaje espera en cada teléfono hasta que lo abren. SNS entrega y olvida: si quieres que el mensaje espere a un consumidor caído, el suscriptor debe ser una cola SQS.
Ejemplo real: cada pedido de Boletos Faro se publica
en el tema pedido-creado. Facturación e inventario tienen
cada uno su cola suscrita. Operaciones recibe por correo solo los
pedidos de más de 1.000 dólares, gracias a un filtro en su
suscripción.
Úsalo cuando: un mismo aviso deba llegar a varios sistemas o personas a la vez, o necesites alertas por correo, SMS o notificaciones móviles. No lo uses cuando: el consumidor deba leer a su ritmo y no perder nada si está caído (pon SQS detrás), o quieras enviar correos de marketing con diseño propio.
En el examen: “notificar”, “alertas por correo o SMS”, “publicar/suscribir”, “enviar el mismo mensaje a varios destinos” o “fan-out” es SNS. Varios sistemas que procesan cada uno a su ritmo: SNS con colas SQS suscritas.
Trampa común: SQS es pull y SNS es push. Si la pregunta dice que el consumidor “sondea” o “consulta” los mensajes, es SQS; si los recibe sin pedirlos, es SNS.