목록 보기
Distributed Cache 도입기 (3): RDB 조회 90% 감소시키기
백엔드

Distributed Cache 도입기 (3): RDB 조회 90% 감소시키기

채널톡
채널톡
2025년 7월 30일

두줄요약

BillSetting 조회 부하를 줄이기 위해 로컬 캐시와 Redis 글로벌 캐시를 검토했지만 각각 한계가 있었습니다. 결국 Redis Pub/Sub 기반 분산 캐시로 전환해 RDB 조회를 93% 줄였습니다.

문제 상황

  • BillSetting 조회가 매니저 API 권한 확인 경로에 걸리며 하루 6000만 건 이상, RDB 조회 1500 TPS 수준의 부하 발생
  • Caffeine 로컬 캐시로는 다중 인스턴스 환경의 히트율 편차, Cold Start, 짧은 TTL 만료 부하 해소 한계 존재
  • Redis 글로벌 캐시는 캐시 요청이 단일 Redis로 몰리며 CPU 70%까지 상승해 병목 발생

해결 방법

  • 각 인스턴스는 로컬 캐시를 유지하고, 변경 시 Redis Pub/Sub으로 invalidate 메시지만 동기화하는 분산 캐시 적용
  • TTL을 5초에서 24시간으로 늘려 캐시 만료로 인한 미스를 줄이고, 동기화 실패와 수동 DB 조작을 안전장치로 보완
  • 결과적으로 캐시 히트율을 거의 100%에 가깝게 끌어올리고 RDB 조회를 1500 TPS에서 100 TPS 이하로 감소

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...