Saltar al contenido
CLF-C02Sesión 12 · Mensajería y datos

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.

1, la tienda publica una vez en el tema SNS. 2, SNS empuja una copia a la cola SQS de facturación y 3, otra al correo del equipo.

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.

139