728x90 SAGA2 9) Kafka 기반 도메인 분리 (3) Saga 패턴이란? 1. Saga 패턴이란? : Saga 패턴은 분산 트랜잭션을 여러 개의 로컬 트랜잭션(Local Transaction) 시퀀스로 나누어 처리하고, 만약 실패 시 보상(Compensation) 작업을 통해 전체 일관성을 맞추는 패턴.2. 동작 방식 1) 하나의 비즈니스 프로세스 = N개의 로컬 트랜잭션 2) 각 로컬 트랜잭션은 자신의 DB에서 커밋됨 → 분산 락 불필요 3) 중간에 실패하면, 이미 완료된 트랜잭션을 보상 트랜잭션으로 되돌림 3. 구현 방식 1) Choreography (코레오그래피) - 이벤트 기반 - 각 서비스가 이벤트를 발행하고, 다른 서비스가 그 이벤트를 구독하여 다음 트랜잭션 실행 - 장점: 단순,.. 2025. 9. 5. 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. 이전 1 다음 728x90