이벤트 기반 아키텍처

중급

EventBridge + SQS + Lambda로 서비스 간 느슨한 결합을 구현하는 패턴

아키텍처 다이어그램

개요

서비스들이 직접 호출하지 않고, 이벤트를 통해 느슨하게 연결되는 패턴입니다. 마이크로서비스 아키텍처의 핵심 패턴이에요.

구성

  1. EventBridge — 이벤트 라우팅 허브 (규칙 기반 필터링)
  2. SQS — 이벤트 버퍼링 (실패 시 재처리)
  3. SNS — 1:N 팬아웃 (하나의 이벤트를 여러 구독자에게)
  4. Lambda — 이벤트 처리 함수

장점

  • 서비스 간 독립적 배포/확장
  • 한 서비스 장애가 다른 서비스에 영향 없음
  • 이벤트 로그로 추적 용이
  • 새 기능 추가 시 기존 코드 수정 불필요

주의사항

  • 디버깅이 어려울 수 있음 (이벤트 흐름 추적)
  • 최종 일관성(Eventual Consistency) 이해 필요
  • DLQ(Dead Letter Queue) 설정으로 실패 이벤트 관리 필수