페이지

2026년 4월 1일 수요일

분산 시스템의 유연성과 제어의 균형: EDA 중재자 및 브로커 토폴로지 분석

 

1. 비동기 상호작용의 정수, 이벤트 기반 아키텍처(EDA)의 개요

  • 정의: 상태의 변화(Event)를 감지하여 이를 처리하는 수신자에게 비동기적으로 전달하고 반응하게 하는 소프트웨어 아키텍처 패턴.

  • 특징: 송신자와 수신자 간의 **느슨한 결합(Loose Coupling)**을 통해 확장성(Scalability)과 민첩성(Agility) 확보.

  • 구성 방식: 이벤트의 흐름을 제어하는 방식에 따라 **중재자(Mediator)**와 브로커(Broker) 토폴로지로 구분됨.


2. 중재자 토폴로지 (Mediator Topology)

복잡한 이벤트 흐름을 중앙에서 제어하고 오케스트레이션(Orchestration)하는 방식입니다.

  • 동작 원리: 1. 이벤트 큐(Queue): 초기 이벤트를 수집하여 중재자에게 전달.

    2. 이벤트 중재자(Mediator): 이벤트를 수신하여 처리 단계(Workflow)를 결정하고 적절한 채널로 분배.

    3. 이벤트 채널(Channel): 중재자와 프로세서를 연결하는 통로.

    4. 이벤트 프로세서(Processor): 실제 비즈니스 로직을 수행하는 단위 서비스.

  • 장점: 중앙 집중식 제어로 전체 워크플로우 파악이 쉽고, 복잡한 트랜잭션 처리에 유리함.

  • 단점: 중재자가 성능 병목 지점(Bottleneck)이 될 수 있으며, 단일 장애점(SPOF) 위험 존재.


3. 브로커 토폴로지 (Broker Topology)

중앙 제어 없이 이벤트 프로세서들이 연쇄적으로 반응하는 코레오그래피(Choreography) 방식입니다.

  • 동작 원리:

    1. 브로커(Broker): 가벼운 메시지 라우팅 역할만 수행 (이벤트 보관 및 전달).

    2. 이벤트 프로세서: 이벤트를 처리한 후, 다음 단계에 필요한 새로운 이벤트를 발행하여 브로커에 게시.

    3. 연쇄 반응: 각 서비스가 독립적으로 이벤트를 구독(Subscribe)하고 발행(Publish)하며 흐름이 완성됨.

  • 장점: 고도의 확장성과 탄력성(Resilience) 제공, 중재자가 없어 지연 시간이 낮음.

  • 단점: 전체 비즈니스 흐름을 한눈에 파악하기 어렵고 에러 발생 시 추적(Tracing) 및 복구가 복잡함.


4. 중재자 토폴로지 vs 브로커 토폴로지 비교

비교 항목중재자 토폴로지 (Mediator)브로커 토폴로지 (Broker)
제어 방식오케스트레이션 (중앙 집중)코레오그래피 (분산)
결합도상대적으로 높음 (중재자에 의존)매우 낮음
복잡성 관리중앙에서 복잡한 로직 관리 가능각 서비스에 로직 분산, 흐름 파악 어려움
확장성중재자 성능에 제약 발생 가능매우 높음 (무한 확장 가능)
오류 복구워크플로우 제어를 통한 복구 용이보상 트랜잭션 설계가 매우 복잡함
적합 사례은행 대출 승인, 복합 주문 처리단순 주문 접수, 로그 수집, 알림 전송

5. 기술사적 제언: 비즈니스 도메인에 따른 전략적 선택

  • 하이브리드 접근: 전체 시스템의 핵심 비즈니스 흐름(주문-결제-배송)은 중재자로 관리하고, 개별 서비스의 부수적 알림이나 데이터 동기화는 브로커 방식을 혼합하는 전략 권고.

  • 관측성(Observability) 확보: 특히 브로커 방식 도입 시 분산 추적 도구(Zipkin, Jaeger 등)를 활용하여 이벤트 유실 및 지연을 모니터링하는 체계 마련 필수.

  • 결언: 토폴로지 선택은 성능과 관리 편의성 사이의 트레이드오프임. 기술사는 MSA 환경에서 서비스 간 자율성과 정합성 사이의 균형을 맞추는 이벤트 거버넌스를 확립해야 함.

댓글 없음: