Event-Driven Architecture(이벤트 기반 아키텍처)
시스템들이 서로를 직접 알고 요청과 응답을 주고받는 대신, 어떤 사건(이벤트)이 발생했다는 사실만 알리면 그 이벤트에 관심 있는 시스템들이 각자 알아서 독립적으로 반응하도록 설계하는 소프트웨어 구조입니다.
한눈에 보는 정의
Event-Driven Architecture(이벤트 기반 아키텍처)는 시스템들이 서로 직접 요청을 주고받는 대신, 이벤트가 발생하면 이를 구독한 시스템들이 각자 알아서 반응하도록 설계하는 소프트웨어 구조입니다.
자세히 알아보기
- 예문: "주문 시스템이 결제·배송 시스템을 직접 호출하는 대신, '주문 생성' 이벤트만 발행하는 Event-Driven Architecture로 전환해 시스템 간 결합도를 낮췄다."
- 주문 시스템이 결제 시스템의 존재를 직접 몰라도, '주문이 생성됐다'는 이벤트만 발행하면 되고 결제 시스템은 그 이벤트를 구독해 자신의 역할을 수행하면 되어 시스템 간 의존성이 크게 줄어듭니다.
- 새로운 시스템이 특정 이벤트에 관심이 생기면, 기존 시스템을 전혀 건드리지 않고도 그 이벤트를 구독하기만 하면 되어 확장성이 뛰어납니다.
- Kafka(아파치 카프카) (Kafka)나 Message Broker(메시지 브로커) (메시지 브로커)를 중심으로, 기능별로 잘게 나뉜 여러 서비스가 느슨하게 연결된 구조를 만드는 데 널리 활용됩니다.