DOCS/journey/plans/250807_서비스_재구조화_계획.md

1.6 KiB

서비스 재구조화 계획

날짜: 2025-08-07 상태: 계획 단계


현재 문제

  1. frontend-customer와 로빙 직접 연결 부재
  2. 인증 흐름 불완전 (OAuth → frontend 토큰 전달 없음)
  3. DB 분산 (PostgreSQL, ChromaDB, SQLite) - user_id 동기화 문제
  4. 서비스 역할 혼재 (frontend-base가 admin UI + 백엔드)

제안 구조

robeing-gateway (51123:8100)

역할:

  • API 게이트웨이 (사용자 → 로빙 라우팅)
  • JWT 인증 체크
  • 사용자-로빙 매핑 (메모리 캐시)

robeing-control (51123:9023)

역할:

  • 시스템 모니터링 통합
  • Admin 대시보드 UI
  • 51123/51124 서버 상태 조회

robeing-monitor (51124:9024)

역할:

  • 로빙 컨테이너 health 체크
  • Stats 수집 (메모리, CPU, 응답 시간)
  • 로그 수집

구현 Phase

Phase 1: robeing-gateway 분리 (미착수)

  • frontend-base에서 라우팅 로직 분리
  • JWT 인증 미들웨어
  • 사용자-로빙 매핑 테이블/캐시

Phase 2: robeing-control 분리 (미착수)

  • Admin UI 분리
  • 모니터링 통합 대시보드
  • 51123 서버 프로세스 직접 체크

Phase 3: robeing-monitor 구현 (미착수)

  • 51124 서버에 배포
  • Docker stats API
  • Health check 엔드포인트

기대 효과

  • 관심사 분리 (라우팅 vs 모니터링)
  • 확장성 향상 (로빙 추가 시 gateway만 수정)
  • 장애 격리 (모니터링 장애가 라우팅에 영향 X)

참고

  • troubleshooting/250827_frontend_backend_preferences_API_연동_완료.md
  • 311_FastAPI_구조_원칙.md