Netflix & Spotify’s Secrets to Scaling: Master Service Decomposition
- 🎄 서비스 분해는 몬오리스 구조를 작고 관리가 용이한 마이크로서비스로 분리하여
점진적으로 업그레이드하는 것을 목표로 합니다. scalability를 위해 뿐만 아니라
견고한 시스템을 구축하기 위한 필수적인 전략입니다.
- 🧭 "기능별 분해"는 주요 사업 기능에 따라 서비스를 분리하는 전략입니다.
예를 들어, e코 merce 플랫폼에서는 재고 관리, 주문 처리, 결제, 배송 등으로 각각
서비스를 구축할 수 있습니다.
- 🧬 "서브 도메인별 분해"는 도메인 주도 설계 개념을 활용하여, 서비스를
지정된 사업 영역에 기반하여 분할하는 전략입니다. 부정연관성을 줄이고,
명확한 서비스 경계와 로직을 유지할 수 있습니다.
- 🧭 "사용 케이스/유저 여정별 분해"는 특정 사용자 상호 작용이나 작업흐름
을 중심으로 서비스를 설계하는 전략입니다. 예를 들어 온라인 쇼핑몰의 체크아웃
과정은 개별 서비스로 분리되어 처리할 수 있습니다.
- 💽 "자원별 분해"는 데이터베이스 구조와 연동하여 서비스를 구성하는 전략입니다.
예를 들어 제품 카탈로그 서비스는 제품 정보에 대한 모든 CRUD (Create, Read, Update,
Delete) 작업을 담당할 수 있습니다.
- 🎛️ Kubernetes와 Istio와 같은 도구는 마이크로서비스 배포, 확보 및 관리를 자동화하고,
서비스 간 소통을 위한 보안 및 모니터링 기능을 제공합니다. 이러한 도구는
관리 복잡성을 낮추고, 더 빠르고 안정적인 서비스 개발에 집중할 수 있도록 돕습니다.