본문 바로가기
728x90

SAGA2

10) Kafka 기반 도메인 분리(3) - Saga 패턴이란? 1. Saga 패턴이란? : Saga 패턴은 분산 트랜잭션을 여러 개의 로컬 트랜잭션(Local Transaction) 시퀀스로 나누어 처리하고, 만약 실패 시 보상(Compensation) 작업을 통해 전체 일관성을 맞추는 패턴.2. 사용사례 1) 결제 중 쿠폰 사용 시 쿠폰 사용가능여부를 확인해서 사용으로 변경 했으나, 결제 시 잔액부족으로 결제를 할 수 있는 상황이 아니라면? → 쿠폰을 다시 사용가능한 형태로 롤백해야 함. (잔액 부족인 상태에서 시스템에서 재시도 해도 잔액부족은 바뀌지 않기때문) 2) 마찮가지로 주문 결제 시 재고차감에 성공하고 결제 시도 시 잔액부족으로 결제를 할 수 없는 상황이라면? .. 2026. 1. 14.
MSA transaction 처리 saga 패턴 MSA 주요 패턴 중 saga 패턴에 대해 기재해 보려한다. 참조할 수 있는 대표 사이트로 는 https://microservices.io/patterns/data/saga.html 가 있는데, 주요 내용은 아래와 같다. 모놀리식 아키텍처에서 주요 사용했던 방식이 위의 다른 service layer 사이에서 발생되는 transaction 처리 부분을 동일 DB 사용하여 논리적 일관성을 유지하였는데, MSA 방식에서 service domain 영역뿐만아니라 DB 영역까지 분리되면서 타 service 간 Transaction 처리가 필요하게 되었다. 이를 RDBMS 와 Nosql 모든 영역에서 일관성있게 유지는 힘들어 졌기때문에 Data 저장결과적으로 동일한 효과를 볼수 있도록 하는 개발패턴이 필요한 상황인.. 2022. 10. 23.
728x90