핵심 인사이트 (3줄 요약)

  1. 본질: MSA는 애플리케이션을 비즈니스 도메인 단위의 독립 서비스로 분리하여, 각 서비스가 자체 DB·코드베이스·배포 파이프라인을 가지고 독립적으로 개발·배포·스케일링되는 아키텍처다.
  2. 가치: 모놀리식에서는 주문 기능 수정이 전체 재배포를 요구하지만, MSA에서는 주문 서비스만 독립 배포하므로 배포 빈도↑·장애 격리↑·팀 자율성↑이 가능하다.
  3. 판단 포인트: MSA의 **분산 시스템 복잡도(서비스 디스커버리·분산 트랜잭션·관측성)**를 관리할 역량이 없으면 오히려 모놀리식보다 비효율적이며, Conway's Law에 따라 팀 구조를 먼저 분리해야 한다.

Ⅰ. 개요 및 필요성

┌───────────────────────────────────────────────────────┐
│    MSA 아키텍처                                       │
├───────────────────────────────────────────────────────┤
│  [API Gateway]                                        │
│     ├─▶ 주문 서비스 (Order) ── DB_Order              │
│     ├─▶ 결제 서비스 (Payment) ── DB_Payment          │
│     ├─▶ 재고 서비스 (Inventory) ── DB_Inventory      │
│     └─▶ 사용자 서비스 (User) ── DB_User              │
│                                                       │
│  각 서비스: 독립 배포·스케일링·기술 스택 자유        │
│  서비스 간 통신: REST / gRPC / 이벤트(Kafka)         │
└───────────────────────────────────────────────────────┘
  • 📢 섹션 요약 비유: 모놀리식은 대형 백화점(모든 매장이 한 건물)이고, MSA는 쇼핑몰(각 매장이 독립 건물, 독립 운영)이다.

Ⅱ. 아키텍처 및 핵심 원리

MSA 핵심 패턴

패턴설명
API Gateway외부 요청의 단일 진입점
Service Discovery서비스 위치 동적 탐색
Circuit Breaker장애 서비스 호출 차단
Saga분산 트랜잭션 (보상 트랜잭션)
CQRS읽기/쓰기 모델 분리
  • 📢 섹션 요약 비유: Circuit Breaker는 전기 차단기다. 한 서비스(콘센트)가 합선되면 해당 라인만 차단하여 전체 정전(장애 전파)을 방지한다.

Ⅲ. 비교 및 연결

비교모놀리식MSA
배포전체서비스별
장애전파격리
복잡도낮음높음 (분산)
기능별서비스별 (풀스택)

Ⅳ. 실무 적용 및 기술사 판단

MSA 도입 판단

  • ✅ 팀 5+, 도메인 복잡, 배포 빈도 높음 → MSA.
  • ❌ 팀 소규모, 초기 스타트업 → Monolith First.

Ⅴ. 기대효과 및 결론

MSA는 대규모 조직의 빠른 배포·독립 스케일링을 가능하게 하지만, 분산 시스템 복잡도를 관리할 플랫폼 엔지니어링 역량이 전제 조건이다.


📌 관련 개념 맵

개념연결 포인트
API GatewayMSA의 단일 진입점
Saga분산 트랜잭션 패턴
Service Mesh서비스 간 통신 인프라 (Istio)
DDD서비스 경계 설계 (Bounded Context)
Conway's Law팀 구조 = 시스템 구조

📈 관련 키워드 및 발전 흐름도

[모놀리식 (전통)]
    │
    ▼
[SOA (2005~) — 서비스 지향, ESB 중심]
    │
    ▼
[MSA (2014, Netflix·Amazon) — 경량 서비스 분리]
    │
    ▼
[Service Mesh (Istio, 2018~) — 통신 인프라 표준화]
    │
    ▼
[현재: Modular Monolith + MSA — 상황별 최적 선택]

👶 어린이를 위한 3줄 비유 설명

  1. 모놀리식은 모든 가게가 한 건물에 있는 백화점이에요. 한 곳 수리하면 전체가 불편해요.
  2. MSA는 가게마다 독립 건물인 쇼핑몰이에요. 한 가게만 수리해도 다른 가게는 정상 영업!
  3. 하지만 가게가 너무 많으면 관리가 복잡해지니까 적당한 규모가 중요해요!