Skip to content

Python 서비스 (FastAPI)

Spring Boot와 별도로 운영되는 Python 마이크로서비스입니다.

항목내용
프레임워크FastAPI + Uvicorn
주 DBPostgreSQL (pgvector)
보조 DBMariaDB (읽기 전용, 캠페인 정보)
작업 큐Redis Queue (RQ)
AI 엔진Google Gemini
스토리지AWS S3 (glowb-output 공유)

FastAPI 서버는 8개의 주요 모듈로 구성됩니다.

Spring Boot에서 직접 HTTP 요청을 보내고 응답을 기다리는 패턴입니다.

메서드엔드포인트용도
GET/snsSNS 프로필 크롤링
POST/report/influencer인플루언서 리포트 생성
POST/ai-review/videoAI 비디오 리뷰
POST/api/vector/campaigns/recommendations벡터 기반 캠페인 추천

장시간 작업은 RQ 큐에 넣고, 완료 시 Spring Boot으로 콜백합니다.

큐 이름용도예시
glowb-short단시간 작업프로필 조회, 이메일 찾기
glowb-default일반 작업리포트 생성, 비디오 리뷰
glowb-long장시간 작업양방향 크롤링, 대량 SNS 수집

Python의 campaign_service.py에서 MariaDB의 TB_COLLAB 테이블을 직접 읽어 캠페인 정보를 조회합니다. 쓰기 권한은 없으며, 캠페인 메타데이터 참조 용도로만 사용합니다.

Python 서비스가 소유하고 관리하는 주요 테이블입니다.

테이블용도
influencer_profile크롤링된 인플루언서 프로필
postSNS 게시물 데이터
post_metrics게시물 성과 지표
influencer_vectors인플루언서 벡터 임베딩
campaign_vectors캠페인 벡터 임베딩
crawl_session크롤링 세션 추적
ftc_businessFTC 사업자 정보

두 서버가 동일한 S3 버킷을 공유합니다.

경로 패턴작성 주체용도
ai/img/PythonAI 생성 이미지
ai/video/PythonAI 처리 비디오
pdf/, docx/Python리포트 파일
기타 (이미지, 동영상)Spring Boot사용자 업로드 파일