Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Amazon SNS
Amazon SNS permite la creación de temas estándar y FIFO. Los temas se utilizan para implementar una arquitectura de publicación/suscripción (pub/sub). Amazon SNS admite varios tipos de suscripción, incluidos correo electrónico, SMS (siempre que haya configurado una identidad de origen, como un número gratuito o un código de 10 dígitos), puntos de conexión HTTP (S) y colas SQS. El suscriptor debe confirmar las suscripciones de los usuarios finales, como los mensajes de correo electrónico y los mensajes SMS, a un tema de SNS. Amazon SNS permite que los servicios se distribuyan de manera amplia, lo que significa que se puede entregar un solo mensaje a un número potencialmente grande de suscriptores. Un tema estándar de SNS tiene un límite predeterminado de 12,5 millones de suscripciones.
En un entorno de microservicios, un tema de SNS resulta útil para desvincular la lógica de enrutamiento y entrega de mensajes de la lógica de un publicador. Es posible implementarlo mediante filtros de temas. De manera conceptual, los filtros de temas son ligeramente similares a las reglas de Amazon EventBridge, pero están configurados para cada suscriptor en lugar de estar disponibles desde una ubicación centralizada. Por ejemplo, supongamos que usted tiene:
-
Un servicio de pedidos, que es el que procesa los pedidos.
-
Un servicio de cumplimiento, encargado del cumplimiento de los pedidos.
-
Un servicio de fidelización, que concede puntos de fidelidad a los miembros por sus pedidos.
Cuando un pedido está listo para ser procesado, publica un mensaje en un tema. El servicio de cumplimiento se suscribe al tema, pero no aplica filtros porque desea conocer todos los pedidos. Imagine que tiene un servicio de fidelización, que se encarga de conceder puntos a los miembros cuando hacen un pedido. Sin embargo, no todos los pedidos son realizados por los miembros. El servicio de fidelización se suscribiría al tema, pero implementaría un filtro de suscripción para verificar un atributo que indica si el pedido era para un miembro o para un invitado.
Piense en el caso en el que un sistema recibe una solicitud de un usuario final para realizar un pago, como se muestra en el siguiente diagrama. En este caso, varios sistemas intermedios necesitan saber que la solicitud se ha realizado para poder llevar a cabo diversas acciones. Cuando se utiliza Amazon SNS, los pagos se publican en un tema de SNS y las funciones de Lambda se suscriben al tema para actualizar las bases de datos tanto de clientes como de ventas. Además, una suscripción por correo electrónico (que el cliente debe confirmar) envía una confirmación (también por correo electrónico) al cliente mediante un filtro de suscripción.
Directrices
Algunas de las funciones que se describen en esta sección para Amazon SNS se superponen con la funcionalidad que ofrece un bus de eventos, como EventBridge. Puede utilizar Amazon SNS cuando:
-
Sabe que tendrá un gran número de suscriptores de un tema.
-
Desea utilizar tipos de suscripción (como correo electrónico o mensajes SMS), que EventBridge no admite de forma nativa.
-
Los suscriptores deberían tener la capacidad de determinar su filtro de suscripción.
-
Necesita la entrega en orden a los suscriptores (por grupo de mensajes).
En el caso de que tenga muchos temas y se utilicen suscripciones y filtros para enrutar mensajes entre microservicios, es probable que EventBridge sea la mejor opción.