Skip to content

[feat/news] 기사별 생성: Redis 캐시, 분산 락, DB 영속화 #3

@rossenzii

Description

@rossenzii

✨ 퀴즈 — 기사별 생성·Redis 캐시·분산 락·DB 영속화

📌 설명

기사 ID로 퀴즈를 조회합니다. Redis 캐시 → PostgreSQL quiz 테이블 → 외부 AI 서버 순으로 데이터를 찾고
캐시 미스 시 분산 락으로 동시에 AI가 여러 번 호출되는 것을 줄입니다.
락을 못 잡은 요청은 짧게 폴링한 뒤 캐시를 읽습니다. AI로 생성한 결과는 Redis에 두고 DB에는 비동기로 저장합니다.

🛠 작업 목록

  • GET /api/quiz/{articleId}
  • Redis quiz:{articleId} TTL 및 lock:quiz:{articleId}
  • @Async Write-behind 저장 및 중복 시 DataIntegrityViolation 무시
  • 기사 없음 ErrorCode.ARTICLE_NOT_FOUND, 폴링 타임아웃 QUIZ_GENERATION_TIMEOUT

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions