system-architecture-example
견고하고 확장 가능한 시스템 아키텍처를 담고 있습니다. 이 구조를 기반으로 한 시스템 설계 설명서를 정리 합니다.
시스템 아키텍처 설계 설명서
이 아키텍처는 고가용성, 확장성 및 낮은 지연 시간을 목표로 하는 마이크로서비스 기반 분산 시스템입니다. 크게 사용자 요청 처리, 메타데이터 관리, 미디어 처리, 그리고 데이터 분석 계층으로 나뉩니다.
1. 진입점 및 트래픽 제어 (Entry Layer)
- Client & CDN: 사용자는 클라이언트를 통해 접속하며, 정적 콘텐츠(이미지, 썸네일 등)는 CDN을 통해 캐싱되어 지연 시간을 최소화합니다.
- Load Balancer (LB): 들어오는 트래픽을 여러 API 게이트웨이로 분산하여 시스템 부하를 관리합니다.
- API Gateways: 서비스의 "대문" 역할을 하며 인증, 권한 부여, 속도 제한(Rate Limiting), 로깅 및 요청 변환을 수행합니다.
2. 핵심 서비스 계층 (Core Services)
이 시스템은 제어 흐름과 데이터 흐름을 명확히 분리합니다.
- Metadata Server: 사용자 정보, 파일 정보, 권한 등 제어 관련 로직을 담당합니다.
- Block Server: 실제 대용량 데이터(이미지, 비디오 등)의 업로드 및 스트리밍을 관리합니다.