728x90
반응형
Choregraphy-based SAGA(코레오그래피 사가)
- 순차적으로 이벤트가 전달되면서 트랜잭션이 관리되는 방식
- 이벤트는 RabbitMQ, Kafka와 같은 메시지 큐 미들웨어를 사용해서 비동기 방식 혹은 분산 처리 형태로 전달할 수 있음
- 코레오그래피 방식의 경우 에러가 발생했을 때 현재 트랜잭션 상태에 대해 파악하기 어려움
- 확장이 어려움
Orchestration-based SAGA(오케스트레이션 사가)
- 서비스가 Event를 직접 구독하지 않고, Saga Orchestrator에서 Event를 구독한 후 각 서비스를 호출하여 트랜잭션을 관리하는 방식
- 트랜잭션에 관여하는 모든 서비스는 Orchestrator에 의해 트랜잭션을 수행하고 결과를 Orchestrator에게 전달
- 오케스트레이션 방식은 현재 트랜잭션의 상태를 파악하기 용이하고 각 서비스의 구현이 비교적 간단해짐
- 단, 추가적인 인프라를 사용해야 한다는 단점이 있고 Orchestrator가 비즈니스 로직에 의존하면 안된다는 점을 주의해야 함
728x90
반응형
'ETC' 카테고리의 다른 글
헥사고날 아키텍처 (0) | 2025.01.24 |
---|---|
MSA & Monolithic Architecture (0) | 2025.01.24 |
Sync & Async / Blocking & NonBlocking (0) | 2023.07.07 |
맥(Mac) 에서 ip 주소 확인하는 방법 (0) | 2021.01.18 |
IntelliJ 에서 Spring Boot 프로젝트 생성하기 (0) | 2021.01.09 |