Tech

¿Cómo desarrollar una arquitectura event-driven para servicios financieros?

Llega al blog una nueva charla técnica de Talks by Pomelo, el evento diseñado y ejecutado por Pomelo y para Pomelers sobre tecnología, producto e innovación 🙌. En esta oportunidad, hablaremos sobre event-driven y nuestra propia versión con una arquitectura dirigida por eventos que optimiza la interacción entre los componentes desplegados y la forma en la que persiste la información. Los insights son tan valiosos que, por supuesto, no dejaríamos de compartirlos con ustedes.

La presentación fue conducida por Lucas Gonçalves y Tomás Juárez de nuestro equipo de engineering, quienes respondieron a las principales preguntas de los Pomelers sobre event-driven. ¿Están listos? 

Al final de esta intro, encontrarán el video con la charla completa que dio la dupla en el evento. ¡Vamos!

¿Cómo generamos una arquitectura event-driven optimizada para servicios financieros?

En la actualidad, los sistemas financieros están estrictamente regulados y, en general, es necesario escalar a millones de transacciones por unidades de tiempo relativamente cortas.

En este artículo planteamos un escenario dando un conjunto de requerimientos funcionales. A partir de aspectos como la resiliencia y atributos como:

  • la calidad;
  • la trazabilidad;
  • la escalabilidad 

buscamos evolucionar la arquitectura inicial, para cubrir los requerimientos evaluando compromisos.

La arquitectura inicial es simple y los distintos componentes se comunican de forma sincrónica. Si bien este escenario ya es funcional, la arquitectura no viene dada por un requerimiento funcional (qué), sino por los atributos de calidad asociados (cómo). En base a estos atributos, notamos que la solución se torna impracticable en entornos de alta demanda, como es el caso de las transacciones monetarias. 

Aquí entonces decidimos evolucionar nuestro proyecto con una arquitectura dirigida por eventos y planteando una serie de iteraciones. En estas, cambiamos las formas en las que se relacionan los componentes desplegados y la forma en la que persistimos la información.

No obstante, una arquitectura dirigida por eventos es compleja y en muchos casos los conceptos son mal interpretados logrando un sistema que, lejos de cubrir los atributos de calidad por los cuales se piensa en eventos, los ofusca. 

En esta charla exploramos estas complejidades y proponemos una serie de pasos para abordarlos. En algunos casos, también sumamos múltiples recomendaciones para abordar los requerimientos no funcionales asociados, entendiendo que pueden no existir soluciones óptimas para cada escenario.

Comments are closed.