farmeter / random

0 stars 0 forks source link

분산트랜잭션 : Saga 패턴 #39

Open farmeter opened 3 years ago

farmeter commented 3 years ago

MSA에서는 Db Access서의 atomicity를 보장하지 않는다. 당연

Saga pattern이란

마이크로서비스들 끼리 이벤트를 주고받아 완료된 서비스들에게 Complementary(보상) 이벤트를 소싱하므로서 처리 완료 2가지 종류가 있다.

  1. Choreography Based Saga pattern

    • 각각의 로컬 트랜잭션이 다른 마이크로 서비스로 이벤트를 소싱
    • 간단하며 구축하기 쉽지만, 이벤트들간의 연관관계가 복잡해지고 상태를 인지하기가 어려워진다.
  2. Orchestration Based saga pattern

    • 분산트랜잭션을 관리하는 Orchestrator가 중앙에서 여러 트랜잭션을 관리.
    • 서비스간의 종속성이 줄고, 중앙집중화가 가능. 별도로 오케스트레이터를 관리해줘야함.