¿por qué se usa Event-Driven Architecture?
imaginá que tenés un sistema con dos microservicios:
pagos
emails
cuando un pago se confirma, pagos llama a emails para enviar el comprobante.
pero la aplicación crece. ahora también hay que generar una factura, actualizar métricas y enviar una notificación.
para hacerlo, pagos empieza a llamar a cada uno de ellos.
cada funcionalidad nueva agrega una llamada más. con el tiempo, ese flujo se vuelve cada vez más difícil de mantener.
event-driven architecture propone otra forma de comunicarse.
cuando se confirma un pago:…
이 글은 결제 확인 같은 사건이 발생했을 때 한 서비스가 여러 서비스를 직접 호출하는 대신, 이벤트를 발행하고 각 마이크로서비스가 그 이벤트에 반응하도록 하는 Event-Driven Architecture의 장점을 설명한다. 이를 통해 새로운 기능이나 서비스가 추가되어도 기존 결제 서비스는 변경할 필요가 없어 결합도가 낮아지고 각 서비스가 독립적으로 진화할 수 있다.
다만 이벤트 기반 구조는 Kafka나 RabbitMQ 같은 브로커를 통해 이벤트를 배포하는 방식이 일반적이며, 재시도, 중복 이벤트, 처리 순서, 관측성 같은 복잡성도 함께 관리해야 한다.