목록 보기
분산 시스템에서 로컬 캐시 활용하기
백엔드

분산 시스템에서 로컬 캐시 활용하기

카카오페이
카카오페이
2025년 1월 16일

두줄요약

분산 환경에서 로컬 캐시와 Redis Pub/Sub을 함께 사용해 조회 성능을 높이고 데이터 정합성을 맞추는 방법을 설명했습니다. 서버별 캐시 불일치와 오래된 데이터 문제를 줄이기 위한 설계와 구현 경험을 공유했습니다.

문제 상황

  • 분산 환경의 통신 중개 서비스에서 상품, 통신사, 혜택 같은 조회성 데이터 요청이 빈번한 상황
  • 매번 DB를 조회하면 비효율적이며, 로컬 캐시만 사용할 경우 서버 간 데이터 불일치 가능성 존재

원인 분석

  • Scale-Out 환경에서 서버별 로컬 캐시가 분리되어 데이터 공유 불가
  • 캐시된 가격·상품 정보가 변경되면 오래된 데이터 참조 위험 존재

해결 방법

  • 변경 빈도가 낮은 메타 정보는 로컬 캐시 우선 조회 구조로 처리
  • CacheManager와 sealed class로 로컬 캐시·Redis 캐시를 통합 관리
  • MongoDB 저장 시 Redis Pub/Sub 이벤트를 발행하고, 각 서버가 구독해 로컬 캐시 무효화

성능/운영 포인트

  • 로컬 캐시로 빠른 응답 속도와 DB 부하 감소 확보
  • Redis를 보조적으로 활용해 서버 간 최신화와 최종적 일관성 유지
  • 메시지 유실, 다단계 캐시, Write-Through, 캐시 크기 관리 같은 확장 전략 고려

댓글 0

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

댓글을 불러오는 중...