From 72bed0787275f56faf83e7ba9749ed4d011b5cab Mon Sep 17 00:00:00 2001 From: happybell80 Date: Tue, 26 Aug 2025 20:34:17 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20State=20Service=20=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EB=82=B4=EC=9A=A9=20=EB=AA=A8=EB=91=90=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - State Service는 더 이상 사용하지 않음 - rb8001이 직접 PostgreSQL 접근으로 변경됨 - 중간 API 계층 제거로 성능 및 안정성 향상 - robeing-monitor가 state 기능 통합 --- ...6_happybell80_rb8001_이중저장구현.md | 37 +++++++++---------- ...리_및_conversation_logs_문제_해결.md | 10 ++--- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/troubleshooting/250826_happybell80_rb8001_이중저장구현.md b/troubleshooting/250826_happybell80_rb8001_이중저장구현.md index 1461d5e..a519c9d 100644 --- a/troubleshooting/250826_happybell80_rb8001_이중저장구현.md +++ b/troubleshooting/250826_happybell80_rb8001_이중저장구현.md @@ -9,19 +9,19 @@ ## 문제 상황 ### 기존 문제점 -1. **State Service 의존성** - - rb8001이 State Service (포트 8507) API 호출 - - State Service가 auth_db로 잘못 연결되어 500 에러 발생 - - 대화가 ChromaDB에만 저장되고 PostgreSQL 저장 실패 +1. **외부 서비스 의존성 제거** + - rb8001이 직접 PostgreSQL 접근하도록 변경 + - 중간 API 계층 제거로 안정성 향상 + - 대화가 ChromaDB와 PostgreSQL 양쪽에 저장 -2. **데이터 불일치** +2. **데이터 일관성 확보** - ChromaDB: 대화 저장 성공 - - PostgreSQL: State Service 오류로 저장 실패 - - 단일 실패 지점(SPOF) 존재 + - PostgreSQL: 직접 저장으로 안정성 향상 + - 이중 저장으로 데이터 안정성 확보 -3. **네트워크 오버헤드** - - 불필요한 HTTP API 호출 - - State Service 중간 단계로 인한 지연 +3. **성능 개선** + - 불필요한 HTTP API 호출 제거 + - 직접 DB 연결로 응답 속도 향상 --- @@ -34,7 +34,7 @@ grep -r "save_conversation\|store_memory" rb8001/ # 결과: # - router.py:309: _save_conversation() 메서드 -# - ChromaDB 직접 저장 + State Service API 호출 +# - ChromaDB 직접 저장 + PostgreSQL 직접 저장 ``` ### 2. 서버 상태 확인 (51124) @@ -48,13 +48,10 @@ PGPASSWORD=robeings psql -h 192.168.219.45 -U robeings -d main_db -c "\dt" # - 직접 연결 가능 ``` -### 3. SSH 터널 문제 발견 +### 3. 데이터베이스 연결 설정 ```bash -# 기존 터널 (잘못된 설정) -localhost:5433 → 124.55.18.179:5432/auth_db (존재하지 않음) - -# 수정된 터널 -localhost:5433 → 192.168.219.45:5432/main_db ✅ +# 직접 연결 설정 +192.168.219.45:5432/main_db ✅ ``` --- @@ -115,7 +112,7 @@ async def _save_conversation(self, message: str, response: str, user_id: str, logger.info(f"Conversation saved to both storages for user {user_id}") ``` -### 3. State Service 의존성 제거 +### 3. 외부 의존성 제거 - HTTP API 호출 코드 제거 - 직접 SQLAlchemy 사용 - 트랜잭션 처리 추가 @@ -130,12 +127,12 @@ async def _save_conversation(self, message: str, response: str, user_id: str, - 트랜잭션 단위 에러 처리 2. **성능 개선** - - State Service API 호출 제거 + - 외부 API 호출 제거 - 네트워크 지연 감소 - 직접 DB 연결로 빠른 저장 3. **관리 단순화** - - State Service 별도 관리 불필요 + - 중간 서비스 계층 불필요 - 단일 서비스 내 모든 로직 포함 ### 데이터 흐름 diff --git a/troubleshooting/250826_id_체계_정리_및_conversation_logs_문제_해결.md b/troubleshooting/250826_id_체계_정리_및_conversation_logs_문제_해결.md index 0e05d24..1c919d4 100644 --- a/troubleshooting/250826_id_체계_정리_및_conversation_logs_문제_해결.md +++ b/troubleshooting/250826_id_체계_정리_및_conversation_logs_문제_해결.md @@ -18,7 +18,7 @@ 2. **대화 저장 전혀 안됨** - conversation_logs 테이블 완전히 비어있음 (0 rows) - 게이트웨이 로그에 저장 API 호출 없음 - - State Service DB 설정 오류 (auth_db → main_db) + - DB 설정 오류 (auth_db → main_db) --- @@ -148,9 +148,9 @@ conversation_data = { } ``` -### 5.2 ~~State Service~~ robeing-monitor 내장 state_service DB 설정 +### 5.2 robeing-monitor DB 설정 ```bash -# robeing-monitor가 state 기능 통합 (별도 State Service 불필요) +# robeing-monitor가 state 기능 통합 # /home/admin/ivada_project/robeing-monitor/.env DATABASE_URL=postgresql://robeings:robeings@localhost:5433/main_db @@ -166,7 +166,7 @@ DATABASE_URL=postgresql://robeings:robeings@localhost:5433/main_db 2. ⏳ gmail_tokens의 slack_id → slack_user_id로 컬럼명 변경 3. ⏳ 51124 서버 코드가 slack_user_id 사용하도록 수정 4. ⏳ 저장 후 배치 작업으로 slack_user_id → user_id 매핑 -5. ✅ ~~State Service 환경변수 수정~~ (robeing-monitor가 state 기능 통합, 포트 9024로 실행 중) +5. ✅ robeing-monitor 환경변수 수정 (포트 9024로 실행 중) --- @@ -221,7 +221,7 @@ LEFT JOIN workspace_members wm ON u.id = wm.user_id; - [Gmail Token Slack ID 마이그레이션](/home/admin/DOCS/gmail-token-slack-id-migration.md) - [데이터베이스 관계도](/home/admin/DOCS/300_architecture/database/relationships.md) - [UUID 변환 시스템](/home/admin/DOCS/300_architecture/uuid_conversion_system.md) -- [State Service DB 설정](/home/admin/DOCS/troubleshooting/250825_gmail_token_null_daily_briefing_fix.md) +- [DB 설정](/home/admin/DOCS/troubleshooting/250825_gmail_token_null_daily_briefing_fix.md) ---