Microservices란?
단일 거대 앱(monolith)을 비즈니스 기능별 독립 서비스로 쪼개 각자 배포·스케일링하는 구조다.
장점
- 팀별 독립 배포
- 기술 스택 자유 (서비스별 DB·언어)
- 부분 장애 격리
단점
- 네트워크 복잡도 급증
- 분산 트랜잭션 어려움 (Saga 등 필요)
- 운영 도구(서비스 메시, 추적) 없이 불가능
언제 가치 있나
팀 규모가 커지고 monolith 배포가 병목이 됐을 때. 소규모 팀엔 오히려 독.
하나의 큰 애플리케이션을 독립적으로 배포·확장 가능한 작은 서비스들로 쪼개는 아키텍처 스타일.
단일 거대 앱(monolith)을 비즈니스 기능별 독립 서비스로 쪼개 각자 배포·스케일링하는 구조다.
팀 규모가 커지고 monolith 배포가 병목이 됐을 때. 소규모 팀엔 오히려 독.