Files
site11/PLAN.md
jungwoo choi a38fcc204c docs: Update documentation for Step 8 completion
- Updated PLAN.md to reflect Step 8 completion
- Added OAuth service to current services list
- Renumbered subsequent steps
- Updated PROGRESS.md with Step 8 details and outcomes
- Added new service ports and problem resolutions

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:58:29 +09:00

4.6 KiB

프로젝트 개발 계획

프로젝트 목표

마이크로서비스 아키텍처 기반의 확장 가능한 웹 애플리케이션 구축

아키텍처 원칙

  1. Console as API Gateway: 모든 외부 요청은 Console을 통해 라우팅
  2. Docker-Only Development: 모든 개발과 실행은 Docker 컨테이너 내에서
  3. Event-Driven Architecture: Kafka를 통한 서비스 간 비동기 통신
  4. Service Isolation: 각 서비스는 독립적으로 배포 가능

완료된 단계 ()

Phase 1: 기반 구축

  • Step 1: 기본 프로젝트 구조 및 Docker 설정
  • Step 2: Users 마이크로서비스 구현
  • Step 3: MongoDB 통합
  • Step 4: Redis 캐싱 시스템
  • Step 5: Frontend 스켈레톤 (React + Vite)
  • Step 6: JWT 인증 시스템
  • Step 6.5: Images 서비스 통합
  • Step 7: Kafka 이벤트 시스템
  • Step 8: OAuth 2.0 인증 시스템 및 프로필 기능

진행 예정 단계

Phase 2: 이벤트 기반 시스템 확장

Step 9: 고급 이벤트 처리

  • 이벤트 소비자 구현
    • Console에서 user-events 토픽 구독
    • 알림 서비스 이벤트 처리
  • Dead Letter Queue 구현
  • 이벤트 재시도 메커니즘
  • 이벤트 스키마 레지스트리

Step 10: 태스크 큐 시스템

  • Kafka 기반 백그라운드 작업 처리
  • 이미지 프로세싱 작업 큐
  • 이메일 전송 큐
  • 배치 작업 스케줄러

Phase 3: 고급 기능

Step 11: 실시간 기능

  • WebSocket 통합 (Console)
  • 실시간 알림 시스템
  • 온라인 사용자 상태 추적
  • 실시간 데이터 동기화

Step 12: 파일 시스템

  • 파일 업로드 서비스
  • S3 호환 객체 스토리지 (MinIO)
  • 파일 메타데이터 관리
  • 썸네일 생성 서비스

Step 13: 검색 시스템

  • Elasticsearch 통합
  • 전문 검색 기능
  • 자동완성 기능
  • 검색 분석 및 최적화

Phase 4: 프로덕션 준비

Step 14: 모니터링 및 로깅

  • Prometheus 메트릭 수집
  • Grafana 대시보드
  • ELK Stack 로깅
  • 분산 추적 (Jaeger)

Step 15: 보안 강화

  • Rate Limiting
  • API Key 관리
  • OAuth2 통합
  • 데이터 암호화

Step 16: 테스트 및 CI/CD

  • 단위 테스트 작성
  • 통합 테스트
  • E2E 테스트
  • GitHub Actions CI/CD

Step 17: 성능 최적화

  • 데이터베이스 인덱싱
  • 쿼리 최적화
  • 캐싱 전략 개선
  • CDN 통합

서비스 구성

현재 서비스

  1. Console (API Gateway)

    • Frontend: React SPA
    • Backend: FastAPI, JWT 인증
  2. Users Service

    • User CRUD
    • MongoDB 저장소
    • Kafka 이벤트 발행
    • 프로필 정보 관리 (사진, bio, location 등)
  3. Images Service

    • 이미지 프록시
    • 캐싱 시스템
    • WebP 변환
  4. OAuth Service

    • OAuth 2.0 인증 서버
    • 애플리케이션 등록 및 관리
    • 토큰 발급 및 검증
    • SSO 지원 (Google, GitHub, SAML)
    • 스코프 기반 권한 관리

계획된 서비스

  1. Notification Service

    • 이메일/SMS 전송
    • 푸시 알림
    • 알림 히스토리
  2. Analytics Service

    • 사용자 행동 분석
    • 비즈니스 메트릭
    • 리포트 생성
  3. Payment Service

    • 결제 처리
    • 구독 관리
    • 청구서 생성

기술 스택 로드맵

현재 사용 중

  • FastAPI, React, TypeScript
  • MongoDB, Redis
  • Apache Kafka
  • Docker, Docker Compose

도입 예정

  • Elasticsearch (검색)
  • MinIO (객체 스토리지)
  • Prometheus/Grafana (모니터링)
  • Jaeger (분산 추적)
  • Nginx (리버스 프록시)

개발 일정

2025 Q1

  • Phase 2 완료 (이벤트 시스템)
  • Phase 3 시작 (고급 기능)

2025 Q2

  • Phase 3 완료
  • Phase 4 시작 (프로덕션 준비)

2025 Q3

  • Phase 4 완료
  • 프로덕션 배포

성공 지표

  1. 기술적 지표

    • 서비스 응답 시간 < 200ms
    • 시스템 가용성 > 99.9%
    • 초당 처리 가능 요청 > 1000
  2. 개발 지표

    • 테스트 커버리지 > 80%
    • 빌드 시간 < 5분
    • 배포 시간 < 10분
  3. 확장성 지표

    • 수평 확장 가능
    • 서비스 독립 배포
    • 무중단 업데이트

리스크 및 대응 방안

  1. 복잡도 증가

    • 대응: 점진적 구현, 문서화 강화
  2. 성능 병목

    • 대응: 프로파일링, 캐싱 전략
  3. 데이터 일관성

    • 대응: 이벤트 소싱, SAGA 패턴
  4. 보안 취약점

    • 대응: 정기 보안 감사, 자동화된 스캔