토픽 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