Learning
토픽 85 / 192·마이크로서비스와 API

마이크로서비스 아키텍처 (MSA)

마이크로서비스 아키텍처 (MSA)

애플리케이션을 작고 독립적으로 배포 가능한 서비스들의 집합으로 구성하는 아키텍처 스타일로, 각 서비스는 단일 비즈니스 기능을 담당하고 경량 통신 메커니즘으로 연결

특징: 서비스별 독립 배포, 기술 다양성, 분산 데이터 관리

구성요소

  • API Gateway: 단일 진입점, 라우팅
  • Service Registry: 서비스 위치 관리
  • Config Server: 중앙 설정 관리
  • Circuit Breaker: 장애 격리
  • Message Broker: 비동기 통신

설계 원칙

  • 단일 책임 (Single Responsibility)
  • 자율성 (Autonomy)
  • 느슨한 결합 (Loose Coupling)
  • 데이터 분리 (Database per Service)

장점: 독립 배포, 확장성, 장애 격리, 기술 자유도

단점: 분산 시스템 복잡도, 네트워크 오버헤드, 데이터 일관성

기술 스택: Docker, Kubernetes, Spring Cloud, Istio

적용사례: 넷플릭스, 아마존, 쿠팡, 배달의민족

비교: MSA(분산/독립) vs 모놀리식(단일/통합)

연관: DDD, 컨테이너, DevOps, 12-Factor App