Amazon SNS
Servicio de mensajería pub/sub completamente gestionado que distribuye mensajes a múltiples suscriptores simultáneamente, soportando notificaciones push, correo electrónico, SMS y endpoints HTTP
Descripción general
Amazon Simple Notification Service (SNS) es un servicio de mensajería pub/sub (publicación/suscripción) completamente gestionado que permite enviar mensajes desde publicadores a múltiples suscriptores simultáneamente. Soporta múltiples protocolos de entrega incluyendo HTTP/HTTPS, correo electrónico, SMS, Lambda, SQS y notificaciones push móviles. Los temas (Topics) actúan como canales de comunicación donde los publicadores envían mensajes y los suscriptores los reciben. Con el filtrado de mensajes, los suscriptores pueden recibir solo los mensajes que coincidan con sus políticas de filtro, reduciendo el procesamiento innecesario.
Temas estándar vs FIFO y patrones de arquitectura
SNS ofrece dos tipos de temas: estándar y FIFO. Los temas estándar proporcionan rendimiento máximo con entrega de mejor esfuerzo y posible duplicación de mensajes, adecuados para notificaciones de alertas y distribución de eventos donde el orden no es crítico. Los temas FIFO garantizan orden estricto de mensajes y entrega exactamente una vez, ideales para procesamiento de transacciones financieras o flujos de trabajo donde el orden importa. El patrón fan-out es la arquitectura más común con SNS: un evento se publica en un tema y se distribuye simultáneamente a múltiples colas SQS, funciones Lambda o endpoints HTTP para procesamiento paralelo. Este patrón desacopla los productores de los consumidores y permite escalar cada consumidor independientemente.
Filtrado de mensajes y entrega entre cuentas
Las políticas de filtro de suscripción permiten que cada suscriptor reciba solo los mensajes relevantes sin necesidad de lógica de filtrado en el lado del consumidor. Los filtros se aplican a los atributos del mensaje usando operadores de comparación (coincidencia exacta, prefijo, numérico, existencia). Por ejemplo, un tema de eventos de pedidos puede tener suscriptores que solo reciban eventos de 'pedido_creado' o solo eventos con monto superior a cierto umbral. La entrega entre cuentas permite que temas en una cuenta envíen mensajes a suscriptores en otras cuentas de AWS, habilitando arquitecturas de eventos entre organizaciones. Las políticas de acceso del tema controlan qué cuentas pueden publicar o suscribirse. La entrega de mensajes incluye reintentos automáticos con backoff exponencial, y los mensajes que no pueden entregarse se envían a una cola de mensajes muertos (DLQ) para investigación posterior.
Notificaciones móviles push y mensajería SMS
SNS proporciona una interfaz unificada para enviar notificaciones push a dispositivos móviles a través de servicios de plataforma como APNs (Apple), FCM (Google) y ADM (Amazon). Se crean endpoints de plataforma para cada dispositivo registrado y se pueden enviar mensajes directos a dispositivos individuales o mensajes de tema a todos los dispositivos suscritos. Para SMS, SNS soporta envío a más de 200 países con tipos de mensaje transaccional (alta fiabilidad, mayor costo) y promocional (menor costo, sujeto a regulaciones locales). El presupuesto de gasto mensual de SMS previene costos inesperados. Las métricas de entrega de CloudWatch permiten monitorear tasas de éxito de entrega, y los registros de entrega proporcionan visibilidad detallada del estado de cada mensaje para depuración y optimización.