뉴스 스냅샷 캐시 저장소 선택

상태

승인

후보군

방안설명
BE MySQL 영속화ML이 계산한 뉴스 요약·헤드라인을 BE news_snapshots 테이블에 저장하고 TTL 1시간으로 stale 여부를 판단
ML TtlCacheML 프로세스 메모리 내 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 호출로 첫 응답 지연 가능