로딩
요청 처리 중입니다...

Saga Pattern

 Saga Pattern

사가 패턴 분산 트랜잭션에서 데이터 일관성을 유지하려면 ACID 트랜잭션 대신 Saga라는 메시지 주도 방식의 로컬 트랜잭션을 사용해야 함 단 사가는 ACID에서 격리성(I)가 빠진 ACD만 지원하고 격리가 되지 않기에 동시 비정상의 영향을 방지하거나 줄일 수 있는 설계 기법을 적용해야 함 사가 패턴에는 중앙 제어 장치 없이 참여자가 각자 서로 이벤트를 교환하는 방식인 코레오그래피 방식과 중앙 제어 장치가 참여자가 해야 할 일을 지시하는 방식인 오케스트레이션 방식이 있음 MSA에서 트랜잭션 관리가 어려운 이유 1. 주문 서비스에서 고객 / 티켓 / 회계 서비스를 호출하는 데 이때 데이터 일관성이 필요함 NoSQL과 메시지 브로커는 분산 트랜잭션을 지원하지 않기에 최근 기술은 포기해야 됨(?)

2. 동기 IPC 형태라서 가용성이 떨어지는 문제도 있음.

분산 트랜잭션은 참여한 서비스가 모두 가동 중이어야 커밋 할 수 있음 데이터 일관성 유지 : 사가 패턴 "사가"는 MSA에서 분산 트랜...

# 사가패턴

원문 링크 : Saga Pattern