MSA/Event Driven Architecture 2024. 6. 29. 23:04

[EDA] 장단점과 적용 사례

목차
  1. 개요
  2. 장점
  3. 단점

개요

Event Driven Architecture는 MSA에서 Producer가 여러 Consumer 서비스를 직접 호출해야 했던 구조에서 Event Broker 하나에만 이벤트를 전송하면 되는 구조로 개선했다는 것이 가장 큰 특징이다. 이로 인해 서비스가 느슨하게 결합(Loosely Coupled)되고, 결합도가 낮아진다. 다음 문단부터 정리할 EDA의 장단점은 이러한 EDA의 특징 때문에 생기는 것이라고 이해할 수 있다.

An event-driven architecture for an e-commerce site (AWS, 2020)

장점

  • 확장성
    • 시스템에 부하가 증가할 때 Producer와 Consumer를 scale out(수평적 확장) 할 수 있다.
    • Producer가 Counsumer를 직접 호출하지 않기 때문에 시스템을 크게 재설계하지 않아도 된다
  • 유연성
    • 새로운 이벤트나 처리 로직을 추가할 때 기존 컴포넌트에 미치는 영향을 최소화하면서 구현할 수 있다
      • => Loosely Coupled (느슨한 결합) 기반
      • Producer에 Consumer를 호출하는 코드를 추가하지 않아도 된다
  • 복원력
    • 장애 격리
      • Consumer를 직접 호출하는 코드가 없기 때문
      • 한 서비스에서 장애가 발생했을 때 전체 시스템에 미치는 영향을 최소화 할 수 있다
    • 빠른 복구
      • 시스템 다운타임 최소화
      • 전체 시스템 가용성에 영향을 주지 않고도 시스템의 장애 조치 및 업그레이드 가능
        • ex) 이커머스 서비스에서 광고 서비스에 장애가 발생했을 때 주문 서비스는 정상적으로 동작하는 시스템
    • => 가용성 극대화

단점

EDA의 장점과 trade-off 관계

  • 복잡성
    • 비동기적 특성 및 분산으로 인해 구조적, 관리적 복잡성을 띄게 됨
      • 책임, 역할 분리된 서비스가 loosely coupled하게 연결되었기 때문
    • 시스템의 관리 포인트, 디버깅, 모니터링 비용이 동기식 시스템보다 높아진다
    • 분산 아키텍처가 가지는 관리의 어려움, 설계 및 구현 비용 수반
  • 데이터 일관성
    • 여러 서비스에서 데이터 일관성을 보장해야 함
      • 특정 서비스에서는 데이터가 변경되지 않는 문제
    • 이벤트가 순서대로 처리되지 않을 수 있기 때문에 매우 어려운 과제
    • ACID 속성을 EDA에서는 보장할 수 없음
      • 데이터 원자성 등
    •  
저작자표시 (새창열림)

'MSA > Event Driven Architecture' 카테고리의 다른 글

[Kafka] 개요, 사용 목적, 특징, 구성  (0) 2024.07.14
[MSA] Event Driven Architecture  (0) 2024.04.21
  1. 개요
  2. 장점
  3. 단점
'MSA/Event Driven Architecture' 카테고리의 다른 글
  • [Kafka] 개요, 사용 목적, 특징, 구성
  • [MSA] Event Driven Architecture
개발자 이우진
이우진 기술 블로그
  • All (86)
    • Spring Framework (20)
    • MSA (7)
      • Event Driven Architecture (3)
    • Java (3)
    • Flink (2)
    • Computer Science (9)
      • Object Oriented Programming (3)
    • Problem Solving (15)
    • Design Pattern (0)
    • React (4)
    • Javascript (2)
    • Web (3)
    • Tools & Environment (3)
    • C++ (2)
    • misc (5)
    • Essay (3)
      • 기술 회고 (5)
  • 홈
  • 태그
  • 관리자
  • 글쓰기
hELLO · Designed By 정상우.v4.2.2
[EDA] 장단점과 적용 사례
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.