마이크로 서비스 & 분산 트랜잭션

김민건·2021년 10월 25일
0

기술

목록 보기
3/19

Monolithic vs Microservice

Monolithic 의 경우에는 데이터베이스의 ACID 특성을 활용하여 각 로직을 처리하면 DB에서 자체적으로 보장해준다.

하지만 Microservice의 경우, 각 서비스마다 별도의 DB를 가지고 있다.

→ 따라서, DB에 의존하는 방식으론 이러한 트랜잭션을 일관적으로 처리할 수 없다. 즉, 분산 트랜잭션을 구현하여 이를 해결해야한다.

분산 트랜잭션 방식

MSA ( MicroService Architecture ) 에서 분산 트랜잭션을 구현하는 방식이 대표적으로 2가지가 있다.

  1. Two-Phase Commit
  2. Saga Pattern

분산 시스템에서는 가용성과 일관성 모두 만족하는 방식은 존재하지 않는다.

Two-Phase는 가용성이 떨어지지만, 일관성은 만족할 수 있고,

Saga Pattern은 가용성은 만족하지만, 일관성은 떨어진다.

references

https://www.s-core.co.kr/insight/view/msa-환경에서-데이터-관리를-위한-필수-사항-고가용성과/

profile
백엔드 꿈나무

0개의 댓글