목록 보기
고성능 캐시 아키텍처 설계 - 로컬 캐시와 Redis로 대규모 증정 행사 관리 최적화
백엔드

고성능 캐시 아키텍처 설계 - 로컬 캐시와 Redis로 대규모 증정 행사 관리 최적화

올리브영
올리브영
2024년 12월 10일

두줄요약

증정 행사 조회 트래픽 급증 문제를 해결하기 위해 RDS, ElastiCache, 로컬 캐시를 결합한 다중 레이어 캐시를 적용했습니다. 그 결과 TPS는 크게 증가하고 Redis 네트워크 송신량은 대폭 감소했습니다.

문제 상황

  • 증정 행사 조회 트래픽 급증으로 RDS 직접 조회 시 응답 지연과 장애 가능성 증가
  • ElastiCache 조회만으로도 진행 행사 수가 많을수록 송신 네트워크 바이트 증가
  • 분산 환경에서 로컬 캐시만 쓰면 서버별 데이터 불일치 우려

해결 방법

  • Amazon RDS의 행사 데이터를 Amazon ElastiCache에 버전 기반 List 캐시로 적재
  • 최신 버전 정보를 기준으로 로컬 캐시와 ElastiCache를 함께 조회하는 다중 레이어 캐시 적용
  • Spring Boot에서 Caffeine Cache로 로컬 캐시를 구성하고 @Cacheable 키에 version 사용

성능/운영 포인트

  • 캐시 변경 시 신규 버전 생성으로 최신 데이터만 조회하도록 설계
  • 로컬 캐시 도입으로 ElastiCache 접근 횟수와 네트워크 전송량 감소
  • 성능 테스트에서 TPS 증가와 Redis Network Bytes out 대폭 감소

댓글 0

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

댓글을 불러오는 중...