우아한형제들
기술 블로그
A레벨 - 기본

배민스토어의 이벤트 기반 아키텍처(EDA) 도입기

백엔드
이벤트 아키텍처
MSA
AWS SNSAWS SQSJavaSpring BootEvent Schema Registry
2023년 7월조회 0면접 0원문 보기

배경

배민스토어(B마트, 배민스토어)는 배달의민족 내 즉시배달 서비스로, 주문-결제-배달-정산에 이르는 복잡한 비즈니스 프로세스를 처리해야 한다.

도전 과제

서비스 간 동기 호출로 인한 강한 결합, 부분 장애의 전체 시스템 전파, 새로운 비즈니스 요구사항 반영 시 여러 서비스의 동시 변경 필요 등의 문제가 있었다.

해결 방안

SNS/SQS 기반의 이벤트 기반 아키텍처를 도입했다. 도메인 이벤트를 식별하고, 이벤트 발행/구독 패턴으로 서비스 간 통신을 비동기로 전환했다. 이벤트 스키마 레지스트리로 계약을 관리하고, Dead Letter Queue로 실패 이벤트를 처리했다.

결과

서비스 간 결합도가 크게 줄어 독립적인 배포와 확장이 가능해졌다. 새로운 비즈니스 기능 추가 시 기존 서비스 변경 없이 이벤트 구독만으로 확장 가능해졌다.

핵심 인사이트

  • 1.EDA 도입 시 도메인 이벤트 식별이 가장 중요한 첫 단계이다
  • 2.이벤트 스키마 레지스트리는 서비스 간 계약을 관리하는 필수 인프라이다
  • 3.Dead Letter Queue와 재처리 메커니즘은 이벤트 기반 시스템의 안정성을 보장한다

이 사례 기반 면접에 도전해보세요

우아한형제들의 실제 기술적 결정과 트레이드오프를 깊이 파고드는 면접 질문 2가 준비되어 있습니다

BACKEND
SYSTEM_DESIGN
타이머사례 참조 가능결과 아카이브

로그인 없이 바로 면접을 시작할 수 있습니다