1️⃣ 마이크로서비스를 위한 데이터 관리
전통적(모놀리식) 데이터 관리
모든 기능이
하나의 단일 DB
를 공유
중앙 집중형
데이터 저장소
데이터 일관성 및 관리 용이
단일 DB 장애가 전체 서비스에 영향
마이크로서비스 아키텍처 데이터 관리
서비스별로
자체 DB를 소유
각 서비스는
데이터 독립성
유지
다른 서비스와의 데이터 의존 최소화
서비스 간
동기화·일관성 유지
는 이벤트 기반으로 처리 가능 (Event Stream)
데이터 관리 전략
전략
설명
Database per Service
서비스마다 독립 DB → 서비스 장애가 전체 영향 최소화
Shared Database
여러 서비스가 하나의 DB 사용 → 단일 DB 장애·성능 병목 위험 (권장X)
Event-driven Sync
Kafka 등 이벤트 스트리밍으로 데이터 동기화 → eventual consistency 유지
예시
API Gateway
: 클라이언트 요청을 각 마이크로서비스로 전달
Event Stream (Kafka 등)
: 서비스 간 데이터 변경사항 동기화 (비동기 이벤트 기반)
서비스 간 데이터 동기화는
CQRS (Command Query Responsibility Segregation)
패턴으로 구현 가능
2️⃣ CAP 이론
CAP 이론 개념
분산 시스템에서 동시에 만족하기 어려운 3가지 속성 1️⃣
Consistency (일관성)
모든 노드가
동일한 데이터 상태
를 유지
예: DB에 쓰기가 발생하면 모든 노드에서 같은 데이터를 읽음