msa전체적인 구조
| topics | 400-인프라 & 아키텍처 404 마이크로서비스(MSA) |
| types | 이론 |
| tags | #msa #architecture |
MSA 전체적인 구조
구조 개요
마이크로서비스 아키텍처(MSA)는 여러 개의 독립적인 서비스가 협력하여 하나의 시스템을 구성한다.
주요 구성 요소
API Gateway
- 클라이언트 요청의 단일 진입점
- 라우팅, 인증, 로드 밸런싱 담당
- 각 마이크로서비스로 요청을 분배
마이크로서비스
- 독립적으로 배포 가능한 서비스 단위
- 각 서비스는 자체 데이터베이스를 가짐
- 특정 비즈니스 기능에 집중
메시지 브로커 (Kafka 등)
- 서비스 간 비동기 통신
- 이벤트 기반 아키텍처 구현
- 느슨한 결합 유지
서비스별 데이터베이스
- 각 서비스가 독립적인 DB 소유
- 데이터 격리로 독립성 보장
- 서비스 특성에 맞는 DB 선택 가능
통신 방식
| 방식 | 특징 | 사용 시점 |
|---|---|---|
| 동기 (REST/gRPC) | 즉시 응답 필요 | 조회, 실시간 처리 |
| 비동기 (메시징) | 응답 대기 없음 | 이벤트 처리, 배치 |
장점
- 서비스별 독립 배포
- 장애 격리
- 기술 스택 자유도
주의사항
- 분산 시스템의 복잡도 증가
- 네트워크 지연
- 데이터 일관성 관리