📚 MSA 디자인 패턴 학습 디렉토리

디렉토리 목적

이 디렉토리는 2026년 현대적인 마이크로서비스 아키텍처(MSA) 디자인 패턴을 체계적으로 학습하기 위한 지식 베이스입니다. 각 패턴은 독립적인 문서로 작성되어 있으며, MOC(Map of Contents) 방식으로 구조화되어 있습니다.


🎯 AI를 위한 디렉토리 가이드

📋 이 디렉토리를 읽는 방법

  1. 시작점: 00-MSA-디자인-패턴-MOC.md 문서부터 읽으세요
  2. 폴더별 가이드: 각 폴더의 _README.md에 해당 카테고리 개요가 있습니다
  3. 완성도 확인: 각 문서의 YAML frontmatter status 필드를 확인하세요
    • 완성: 학습 가능한 완전한 문서
    • 작성중: 기본 구조는 있으나 내용 보강 필요
    • 계획중: 템플릿만 있고 내용 작성 필요
  4. 관계 파악: related, prerequisites 필드로 문서 간 관계 확인

📂 디렉토리 구조

MSA-디자인-패턴/
├── _INDEX.md                                    ← 현재 문서 (전체 가이드)
├── 00-MSA-디자인-패턴-MOC.md                    ← 메인 허브 (여기서 시작)
│
├── 01-통신-패턴/                                ← Communication Patterns
│   ├── _README.md                              (폴더 개요)
│   ├── API-Gateway-패턴.md                     [완성]
│   ├── Service-Mesh-패턴.md                    [완성]
│   └── Event-Driven-Architecture.md            [완성]
│
├── 02-데이터-관리-패턴/                         ← Data Management Patterns
│   ├── _README.md                              (폴더 개요)
│   ├── Database-per-Service.md                 [완성]
│   ├── CQRS-패턴.md                            [완성]
│   ├── Event-Sourcing.md                       [완성]
│   └── Saga-패턴.md                            [완성]
│
├── 03-복원력-패턴/                              ← Resilience Patterns
│   ├── _README.md                              (폴더 개요)
│   ├── Circuit-Breaker-패턴.md                 [완성]
│   ├── Retry-Timeout-패턴.md                   [완성]
│   └── Bulkhead-패턴.md                        [완성]
│
├── 04-배포-인프라-패턴/                         ← Deployment Patterns
│   ├── _README.md                              (폴더 개요)
│   ├── Sidecar-패턴.md                         [완성]
│   ├── Strangler-Fig-패턴.md                   [완성]
│   └── Blue-Green-Canary-배포.md               [완성]
│
├── 05-보안-거버넌스-패턴/                       ← Security & Governance
│   ├── _README.md                              (폴더 개요)
│   ├── Zero-Trust-Architecture.md              [완성]
│   └── API-Gateway-Security.md                 [완성]
│
└── 99-실전-적용/                                ← Practical Application
    ├── _README.md                              (폴더 개요)
    ├── 패턴-선택-가이드.md                      [완성]
    ├── 2026-추천-아키텍처-스택.md               [완성]
    ├── 학습-로드맵.md                           [완성]
    └── 실전-체크리스트.md                       [완성]

📊 완성도 현황 (2026-01-02 기준)

✅ 완성된 문서 (15개)

통신 패턴 (3개)

  • API Gateway 패턴 ← 새로 작성 완료
  • Service Mesh 패턴
  • Event-Driven Architecture

데이터 관리 패턴 (4개)

  • Database per Service
  • CQRS 패턴
  • Event Sourcing
  • Saga 패턴

복원력 패턴 (3개)

  • Circuit Breaker 패턴
  • Retry & Timeout 패턴
  • Bulkhead 패턴

배포 & 인프라 패턴 (3개)

  • Sidecar 패턴
  • Strangler Fig 패턴
  • Blue-Green & Canary 배포

보안 & 거버넌스 (2개)

  • Zero Trust Architecture
  • API Gateway Security

실전 적용 (4개)

  • 패턴 선택 가이드
  • 2026 추천 스택
  • 학습 로드맵
  • 실전 체크리스트

🚀 개발 우선순위 및 TODO

🔴 높은 우선순위

현재 모든 핵심 패턴 문서가 완성되었습니다.

🟡 중간 우선순위 (향후 추가 예정)

실습 자료

  • Kafka 실습 (Event-Driven Architecture)
  • Istio 실습 (Service Mesh)
  • Axon Framework 실습 (Event Sourcing + CQRS)
  • Saga 패턴 구현 (Choreography vs Orchestration)

케이스 스터디

  • Netflix MSA 전환 사례
  • 금융권 Event Sourcing 적용 사례
  • 대규모 트래픽 처리 (쿠팡, 배민)

고급 주제

  • AI/ML 워크로드를 위한 MSA
  • Multi-tenancy 패턴
  • Data Mesh 아키텍처

🟢 낮은 우선순위

도구 및 프레임워크 상세

  • Spring Cloud 상세 가이드
  • Kubernetes Operators 패턴
  • Service Mesh 비교 (Istio vs Linkerd vs Consul)

🎓 학습 순서 추천

초급 (MSA 입문)

  1. 00-MSA-디자인-패턴-MOC - 전체 개요
  2. API-Gateway-패턴 - 가장 기본적인 패턴
  3. Database-per-Service - MSA의 핵심 원칙
  4. Circuit-Breaker-패턴 - 장애 처리의 기본

중급 (실무 적용)

  1. Event-Driven-Architecture - 비동기 통신의 핵심
  2. CQRS-패턴 - 읽기/쓰기 분리
  3. Saga-패턴 - 분산 트랜잭션 관리
  4. Service-Mesh-패턴 - 현대적 통신 인프라

고급 (아키텍처 설계)

  1. Event-Sourcing - 이벤트 기반 상태 관리
  2. Strangler-Fig-패턴 - 레거시 마이그레이션
  3. Zero-Trust-Architecture - 보안 강화
  4. 패턴-선택-가이드 - 실전 적용

🔗 문서 간 관계 맵

함께 사용되는 패턴 조합

Event-Driven 스택

Event-Driven Architecture
    ├─→ Event Sourcing (이벤트 저장)
    ├─→ CQRS (읽기/쓰기 분리)
    └─→ Saga (분산 트랜잭션)

복원력 스택

Service Mesh
    ├─→ Circuit Breaker (장애 차단)
    ├─→ Retry & Timeout (재시도)
    └─→ Bulkhead (리소스 격리)

배포 스택

Sidecar Pattern
    ├─→ Service Mesh (통신 관리)
    ├─→ Blue-Green Deployment (안전한 배포)
    └─→ Canary Deployment (점진적 배포)

마이그레이션 스택

Strangler Fig Pattern
    ├─→ API Gateway (라우팅 제어)
    └─→ Database per Service (데이터 분리)

📝 문서 작성 규칙

YAML Frontmatter 필수 필드

모든 문서는 다음 frontmatter를 포함해야 합니다:

---
title: [패턴명] - [부제목]
tags:
  - [카테고리]
  - [기술스택]
  - MSA
  - design-patterns
aliases:
  - [별명1]
  - [별명2]
date: YYYY-MM-DD
category: MSA-디자인-패턴/[폴더명]
status: 완성 | 작성중 | 계획중
priority: 높음 | 중간 | 낮음
difficulty: 초급 | 중급 | 고급
related:
  - "[[관련문서1]]"
  - "[[관련문서2]]"
prerequisites:
  - "[[선행학습1]]"
next_steps:
  - "[[다음학습1]]"
---

문서 구조 템플릿

# 🎯 [패턴명]
 
> [!note] 패턴 개요
> 
> [한 문장 요약]
 
## 📑 목차
- [[#1-핵심-개념|핵심 개념]]
- [[#2-문제와-해결|문제와 해결]]
- [[#3-아키텍처|아키텍처]]
- [[#4-실제-구현|실제 구현]]
- [[#5-장단점|장단점]]
- [[#6-사용-시기|사용 시기]]
- [[#7-실전-사례|실전 사례]]
 
---
 
## 1. 핵심 개념
[핵심 개념 설명]
 
## 2. 문제와 해결
### 해결하려는 문제
### 패턴의 해결 방법
 
## 3. 아키텍처
[다이어그램 및 구조 설명]
 
## 4. 실제 구현
### 4.1 기술 스택
### 4.2 코드 예시
 
## 5. 장단점
### ✅ 장점
### ❌ 단점
 
## 6. 사용 시기
### 적합한 경우
### 부적합한 경우
 
## 7. 실전 사례
[실제 기업/프로젝트 사례]
 
## 📚 참고 자료

🤖 AI 에이전트를 위한 지침

새로운 패턴 추가 시

  1. 적절한 폴더 선택: 패턴의 카테고리에 맞는 폴더에 배치
  2. Frontmatter 작성: 위의 템플릿 필수 필드 모두 작성
  3. 관계 설정: related, prerequisites 필드로 다른 문서와 연결
  4. MOC 업데이트: 00-MSA-디자인-패턴-MOC.md에 새 패턴 추가
  5. 이 INDEX 업데이트: 완성도 현황 및 TODO 업데이트

기존 패턴 보강 시

  1. Status 확인: frontmatter의 status 필드 확인
  2. 실습 추가: 해당 폴더의 실습/ 하위 폴더에 추가
  3. 케이스 스터디 추가: 케이스스터디/ 하위 폴더에 추가
  4. Status 업데이트: 작업 완료 후 status 필드 갱신

문서 검색 및 참조

  1. 키워드 검색: 옵시디언 검색 또는 grep 활용
  2. 태그 활용: tags 필드로 관련 문서 찾기
  3. 그래프 뷰: 옵시디언 그래프 뷰로 관계 시각화
  4. 역링크: 어떤 문서가 현재 문서를 참조하는지 확인

📞 연락 및 피드백

이 지식 베이스에 대한 개선 사항이나 추가할 내용이 있다면:

  • TODO 섹션에 추가
  • 관련 문서의 frontmatter에 status: 작성중 표시
  • 구체적인 개선 방향을 코멘트로 남기기

🔄 마지막 업데이트

  • 날짜: 2026-01-02
  • 주요 변경: Database per Service 패턴 문서 작성 완료
  • 다음 계획: CQRS 패턴 문서 작성