
Vicent Perez
Software Engineer & Tech Lead
•LinkedIn
¿Conoces AWS EventBridge? ¿Y los Partner Event Sources? En el post de hoy te cuento cómo estoy utilizando estos servicios en una arquitectura orientada a eventos 👇
Para quien no lo sepa, EventBridge es un servicio de AWS que permite conectar diferentes aplicaciones y servicios mediante un bus completamente gestionado. Es ideal para construir arquitecturas orientadas a eventos, ya que permite establecer reglas de enrutamiento a diferentes destinos como funciones Lambda, colas (SQS), topics de notificaciones (SNS), entre otros.
¿Y qué es una arquitectura orientada a eventos?
Es un enfoque donde los sistemas reaccionan automáticamente a los cambios de estado. En lugar de que las aplicaciones consulten constantemente el estado de otros servicios (polling), estos notifican a través de eventos cuando algo ocurre.
Esto permite un desacoplamiento entre servicios, una mejor escalabilidad y una mayor capacidad de respuesta.
Bueno, ¿y qué son los Partner Event Sources, entonces?
Es una funcionalidad muy top que nos permite suscribirnos a eventos generados por aplicaciones externas (SaaS) sin necesidad de construir integraciones complejas.
↳ Nos garantiza la entrega de eventos mediante reintentos automáticos.
↳ Ofrece seguridad integrada. Olvídate de la validación HMAC de los webhooks tradicionales.
↳ Elimina la necesidad de exponer endpoints públicos.
↳ Evita problemas comunes de serialización.
Actualmente, hay un total de 57 partners, entre ellos Stripe, Adobe, Salesforce, Shopify y Datadog.
En mi caso, estoy trabajando con Shopify. Los eventos que se generan se envían a AWS a través del partner event source, y una vez en el bus se filtran y se mandan a la cola correspondiente.
Seguidamente, los mensajes son procesados por los servicios de 👇
↳ Detección de fraude
↳ Analítica
↳ Invoicing
↳ Notificaciones
↳ Y otros que vamos a ir añadiendo
¿Lo conocías? ¿Prefieres desacoplarte del cloud provider y utilizar otras soluciones menos gestionadas como Kafka o RabbitMQ?
Cuéntamelo en los comentarios!