Módulo 9 · Eventos, colas y mensajería/Lección 56
SNS: notificaciones y publicación/suscripción
Un mensaje, muchos destinatarios: correos, SMS, colas y funciones reciben lo mismo al mismo tiempo.
Amazon Simple Notification Service (SNS) entrega un mismo mensaje a muchos destinatarios a la vez. Quien envía publica una sola vez en un tema; todos los que están suscritos reciben su copia. Es el modelo de publicación/suscripción, o pub/sub.
Temas y suscripciones
Un tema es un canal con nombre, como pedidos-creados. Los publicadores envían mensajes al tema. Las suscripciones dicen a dónde va cada copia. Un tema puede tener muchas suscripciones de tipos distintos:
Un uso típico: una alarma de CloudWatch publica en un tema de SNS cuando la CPU se dispara, y el equipo de guardia recibe un correo y un SMS.
Fan-out: un mensaje, muchas colas
El patrón más importante de SNS es el fan-out (abanico). Cuando se crea un pedido, la tienda publica una vez en el tema. Tres colas de SQS están suscritas: una para facturación, otra para inventario y otra para envíos. Cada sistema procesa su copia a su ritmo.
- 1
La tienda publica una vez
Envía «pedido 1234 creado» al temapedidos-creados. - 2
SNS copia el mensaje
Entrega una copia a cada suscripción, al mismo tiempo. - 3
Cada cola guarda su copia
Facturación, inventario y envíos tienen el mensaje en su propia cola de SQS. - 4
Cada sistema procesa por su cuenta
Si envíos está caído, su cola guarda el mensaje. Facturación e inventario siguen sin enterarse.
SNS aporta el reparto a muchos; SQS aporta la durabilidad y el ritmo propio. Juntos, agregar un cuarto sistema es tan simple como crear otra cola y suscribirla al tema, sin tocar la tienda.
Filtrar mensajes
No todos los suscriptores quieren todo. Con una política de filtro en la suscripción, cada una recibe solo los mensajes que le interesan, según sus atributos o su contenido. Por ejemplo, la cola de envíos internacionales solo recibe pedidos con pais distinto al local. Así evitas crear un tema por cada caso y que cada consumidor descarte lo que no le sirve.
SNS o SES para enviar correos
| Criterio | ||
|---|---|---|
| Qué es | Servicio de notificaciones pub/sub | Servicio de envío de correo electrónico |
| Destinatarios | Direcciones que confirmaron la suscripción a un tema | Cualquier dirección: clientes, usuarios, listas |
| Contenido | Texto simple, el mismo para todos | Correos con diseño, plantillas y personalización |
| Úsalo para | Alertas operativas al equipo | Correos transaccionales (confirmaciones, recuperación de contraseña) y de marketing |
Para enrutar eventos con reglas más ricas y recibir eventos de servicios de AWS o de terceros, sigue con EventBridge. Repasa las colas en SQS.
Quiz
Pon a prueba lo que aprendiste
0 de 5 correctas · 5 sin responder
1.Cuando se registra un usuario, cuatro sistemas deben recibir el aviso y procesarlo de forma independiente. ¿Qué arquitectura usas?
2.¿Qué servicio usa una empresa para enviar correos de confirmación de compra con diseño propio a sus clientes?
3.¿Cuál de estos NO es un tipo de suscripción de SNS?
4.Una suscripción solo debe recibir los mensajes de pedidos mayores a cierto valor. ¿Qué usas?
5.El equipo de operaciones quiere un correo y un SMS cuando una alarma de CloudWatch se dispara. ¿Qué servicio conecta la alarma con ellos?