배포 구조
컨테이너화
Docker Compose 기반으로 모든 서비스를 컨테이너화하여 운영합니다.
서비스 구성
| 서비스 그룹 | 구성 요소 | 역할 |
|---|
| Core Services | API Server, Worker, Scheduler | 애플리케이션 로직 및 비동기 처리 |
| Data Services | Graph DB, Cache | 데이터 저장 및 캐시 |
| Monitoring | 메트릭 수집, 대시보드 | 서비스 상태 모니터링 |
CI/CD 파이프라인
| 단계 | 내용 |
|---|
| Lint & Type Check | 코드 품질 검사, 타입 안전성 검증 |
| Unit Tests | 전체 테스트 스위트 실행 |
| Build | Docker 이미지 빌드 |
| Deploy | 환경별 자동 배포 (Dev → Staging → Production) |
환경별 구성
| 환경 | 특징 |
|---|
| Development | 로컬 단일 인스턴스, 핫 리로드 |
| Production | API 다중 레플리카, Worker 오토스케일링, DB HA 모드 |
스케일링 전략
| 대상 | 스케일링 방식 | 트리거 |
|---|
| API Server | 수평 확장 | CPU 사용률 기반 |
| Worker Pool | 수평 확장 | 큐 길이 기반 |
| Graph DB | 수직 확장 | 메모리 사용률 기반 |
| Cache | 수직 확장 | 메모리 사용률 기반 |
운영 스크립트
| 명령 | 용도 |
|---|
./scripts/run_server.sh | 로컬 서버 실행 |
./scripts/run_server.sh --docker | Docker 서버 실행 |
./scripts/docker-compose.sh up | 전체 서비스 실행 |
./scripts/docker-compose.sh down | 서비스 중지 |
관련 문서: