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

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 채널톡의 구독 설정(BillSetting) 조회 부하를 줄이기 위해 로컬 캐시와 Redis 글로벌 캐시를 거쳐 분산 캐시로 해결한 과정을 정리한 니다. Caffeine 로컬 캐시는 다중 인스턴스에서 캐시 히트 편차와 cold start, 짧은 TTL(5초)로 인한 주기적 RDB 부하를 남겼습니다. Redis 글로벌 캐시는 요청이 Redis 단일 노드로 집중되어 CPU 사용률 70%까지 올라가 병목이 발생하며 롤백했습니다. 이후 각 인스턴스는 로컬 캐시 속도를 유지하고, Redis Pub/Sub으로 캐시 무효화 메시지만 동기화하는 분산 캐시를 적용했습니다. 이로 인해 TTL을 24시간으로 늘리면서도 동기화로 일관성을 유지해 RDB 조회를 1500 TPS에서 100 TPS 이하로 93% 감소시켰습니다. 다만 TTL 만료 시점의 캐시 스탬피드와 오토스케일링/배포에 따른 cold start로 인한 순간적인 RDB 부하는 존재하며, 그 빈도와 규모가 허용 범위라고 판단했습니다.

연관 게시글