diff --git a/ideas/250807_서비스_재구조화_계획.md b/ideas/250807_서비스_재구조화_계획.md index 2d2fae2..1b2e8d9 100644 --- a/ideas/250807_서비스_재구조화_계획.md +++ b/ideas/250807_서비스_재구조화_계획.md @@ -100,24 +100,24 @@ sequenceDiagram A->>U: Google OAuth U->>A: 인증 완료 A->>G: 토큰 + user_id - G->>F: user_id + robing_port + G->>F: 로그인 성공 (user_id) F->>U: 로그인 완료 - Note over F: localStorage에 robing_port 저장 - U->>F: 채팅 입력 - F->>G: /api/chat (user_id) - G->>R: 라우팅 (port 8001) + F->>G: /api/chat (user_id 포함) + Note over G: DB 조회: user_id → port 8001 + G->>R: 프록시 (port 8001) R->>G: 응답 G->>F: 응답 F->>U: 표시 ``` **수정된 흐름 설명:** -1. 로그인 시 DB 조회: user_id → robing_port (8001) -2. Frontend가 robing_port를 localStorage에 저장 -3. 이후 모든 요청은 해당 포트로 자동 라우팅 -4. 세션 없이도 1:1 매핑 유지 +1. 로그인 완료 후 Frontend는 user_id만 알면 됨 +2. 모든 API 요청에 user_id 포함 (JWT 토큰 또는 헤더) +3. Gateway가 매번 DB 조회하여 해당 사용자의 robing_port 확인 +4. Gateway가 적절한 로빙으로 프록시 +5. Frontend는 로빙 포트를 전혀 알 필요 없음 ### 3단계: 데이터베이스 통합