- Eventual Consistency란?
MSA에서 데이터 일관성을 유지하는 전략 중 하나임.
MSA에서는 서비스 간 데이터베이스가 분리되므로 즉각적인 데이터 일관성이 어려움.
Eventual Consistency 유지 전략
1) Event-Driven Architecture
: Kafka, RabbitMQ 등을 활용하여 이벤트 기반 데이터 동기화
: ex) 주문 생성 시, 결제 시스템에 이벤트 전송
2) SAGA 패턴
: 서비스 간 상태 변경을 트랜잭션 단위로 수행하고, 실패 시 보상 트랜잭션 실행
: ex) 결제 실패 시 주문을 자동 취소
3) Retry & Compensation Mechanism
: 장애 발생 시 재시도를 수행하고, 복구 불가능한 경우 보상 트랜잭션 수행
: 재고 업데이트 실패 시 일정 시간 후 재시도
- Kafka 테스트