MSA가 뭐냐 (Microservices Architecture)


MSA = 하나의 큰 시스템을, 작고 독립적인 서비스 여러 개로 쪼개는 방식입니다.
- 기존: 하나의 모놀리식 애플리케이션
- MSA: 여러 개의 독립 서비스가 네트워크(API)로 통신
핵심 한 줄 요약:
“기능 단위가 아니라 ‘서비스 단위’로 시스템을 쪼갠 구조”

MSA 아키텍처가 뭐냐
MSA 아키텍처는
*“마이크로서비스들을 어떻게 나누고, 어떻게 연결하고, 어떻게 운영할 것인가”*에 대한 전체 설계 원칙과 구조
기본 구성요소 (실무 기준)
- Service
- 하나의 비즈니스 책임만 가짐
- 예: 회원서비스 / 결제서비스 / 주문서비스
- 각자 DB를 가짐 (중요)
- API 통신
- REST / gRPC / 메시지 큐
- 서비스 간 직접 DB 접근 금지
- API Gateway
- 외부 요청의 진입점
- 인증, 라우팅, 로깅 처리
- Service Discovery
- 서비스 위치 자동 탐색
- (예: Eureka, Consul)
- 독립 배포
- 서비스 하나만 수정 → 그 서비스만 배포
모놀리식 vs MSA (현실 비교)
항목 모놀리식 MSA
| 배포 | 전체 재배포 | 서비스 단위 |
| 장애 | 전체 영향 | 부분 영향 |
| 개발 | 빠름(초기) | 느림(초기) |
| 운영 | 단순 | 복잡 |
| 조직 | 소규모 | 팀 분리 전제 |
👉 중요 포인트
- MSA는 기술 문제가 아니라 조직/운영 문제
- 팀 구조가 안 맞으면 100% 실패
많은 SI에서 말하는 “MSA”의 실체
현실적으로 많이 나오는 것:
❌ 가짜 MSA
- 패키지만 나눔
- DB 공유
- 배포는 한 번에
- → 이건 분산 모놀리식
✅ 진짜 MSA
- DB 분리
- 배포 분리
- 장애 격리
- 팀 책임 분리
SI + 공공 + 일정 빡빡 + 운영 인력 적음
→ 풀 MSA는 리스크 큼
현실적 선택:
- 모듈러 모놀리식
- 또는 핵심 1~2개 서비스만 MSA

LIST
'Architecture' 카테고리의 다른 글
| Approval(상위 결재) 시스템 설계 — 상태머신·트랜잭션·멱등성 중심 (0) | 2026.02.11 |
|---|---|
| 정답 없는 환경에서 망하지 않는 시스템을 설계하는 법 (0) | 2026.02.10 |
| 경영학이 왜 개발자/아키텍트와 궁합이 좋은가 (0) | 2026.02.10 |
| IT프로젝트 기획/설계와 PM (0) | 2026.02.09 |
| 정보관리기술사 면접(왜 그렇게 설계했는지 설명 가능) (0) | 2026.02.09 |
