1️⃣ 모놀리스가 “죄”로 오해받는 이유
대부분 이 상태를 모놀리스라고 부릅니다.
- 레이어 무너짐
- 도메인 경계 없음
- 공통 모듈 난사
- 변경 영향 범위 예측 불가
- 배포 공포증
👉 이건 모놀리스가 아니라 무질서입니다.
2️⃣ 잘 만든 모놀리스의 특징
제대로 된 모놀리스는 이렇습니다.
- 도메인 경계 명확 (패키지/모듈)
- 내부는 이미 분산을 가정한 구조
- DB 트랜잭션 일관성 확보
- 단일 배포, 단일 장애 지점
- 디버깅/롤백 빠름
👉 운영·개발·장애 대응 비용이 가장 낮은 형태입니다.
3️⃣ 이유 없는 분산이 시작되는 순간
다음 중 하나라도 나오면 경고입니다.
- “요즘은 다 MSA라서요”
- “확장성 대비죠” (트래픽 없음)
- “클라우드니까요”
- “나중에 클 줄 알아서요”
현실:
- 서비스 수만 늘어남
- 네트워크 실패 도입
- 트랜잭션 파괴
- 장애 전파
- 관측 비용 폭증
👉 문제 해결 없이 복잡도만 증가
4️⃣ 분산은 ‘문제 비용’이 ‘분산 비용’을 넘을 때만
분산의 정당한 이유는 매우 명확합니다.
조건설명
| 팀 분리 필요 | 배포/책임 독립 |
| 스케일 차이 | 특정 도메인만 트래픽 폭증 |
| 장애 격리 | 한 영역 죽어도 전체 생존 |
| 기술 이질성 | 언어/런타임 분리 필요 |
이 중 하나도 없으면 분산하면 안 됩니다.
5️⃣ 가장 위험한 패턴
“모놀리스 → MSA 전환 프로젝트”
이건 거의 항상:
- 일정 지연
- 기능 정체
- 품질 하락
- 인력 소모
정답은:
- 모듈형 모놀리스 → 필요 지점만 분리
- 추출 대상은 이미 내부적으로 느슨해야 함
6️⃣ 좋은 아키텍처 판단 문장
“이 분산이 사라지면, 우리가 잃는 건 무엇인가?”
- 아무것도 없음 → ❌ 분산 오버엔지니어링
- 팀 속도/안정성/독립성 → ⭕ 정당한 분산
한 줄 요약
모놀리스는 기본값이다.
분산은 ‘대가를 감당할 준비가 되었을 때만’ 쓰는 옵션이다.
LIST
'Spring & Backend > Architecture' 카테고리의 다른 글
| 설계는 정답을 고르는 게 아니라 변경 비용을 정하는 일이다 (1) | 2026.02.04 |
|---|---|
| 좋은 백엔드는 트래픽이 아니라 운영 시간을 줄인다 (0) | 2026.02.04 |
| 정보처리기술사의 전망 (1) | 2026.02.01 |
| 공공기관 SI 프로젝트 시스템 설계 방식 (0) | 2026.01.28 |
| Legacy System 및 Spring Boot Migration 및 Cloud 전환 전략 (0) | 2026.01.28 |
