뉴스 스냅샷 캐시 저장소 선택
상태
승인
후보군
| 방안 | 설명 |
|---|---|
| BE MySQL 영속화 | ML이 계산한 뉴스 요약·헤드라인을 BE news_snapshots 테이블에 저장하고 TTL 1시간으로 stale 여부를 판단 |
| ML TtlCache | ML 프로세스 메모리 내 TTL 캐시만 사용 |
| Redis 별도 도입 | Redis를 별도 인프라로 추가해 캐시 계층 구성 |
결정
ML에서 계산한 뉴스 요약·헤드라인을 BE news_snapshots 테이블에 저장한다.
TTL 1시간. FE는 BE에서 캐시를 조회하고, stale이면 ML 재호출 후 저장한다.
결정 이유
- ML 호출마다 claude -p를 호출하면 FE 로딩이 10초를 넘는다 — 영속화가 캐시 역할을 한다
- 기존 watchlist 도메인 확장으로 구현 가능해 신규 인프라가 불필요하다
- 이력 보존이 가능하다
검토 대안
| 방안 | 기각 이유 |
|---|---|
| ML TtlCache만 사용 | 재시작 시 캐시 소멸, 이력 없음 |
| Redis 별도 도입 | 인프라 추가 비용, 현재 규모에 과도 |
트레이드 오프
- 득: 이력 보존, 신규 인프라 없음, 기존 watchlist 도메인 재사용
- 실: DB 의존 증가, TTL 만료 시 동기 ML 호출로 첫 응답 지연 가능