목록 보기
고성능 캐시 아키텍처 설계 - 로컬 캐시와 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 대폭 감소

다음 읽기

#Spring Boot 주제를 이어서 읽기

SDUI의 성능 병목을 넘어: 올리브영 로컬 캐시 기반 백엔드 최적화 성공기

SDUI의 트래픽 병목을 Caffeine과 Redis 이중 캐시로 해결한 사례를 소개했습니다. 백오피스 즉시 무효화와 프리워밍으로 1ms 미만 응답 성능을 확보했습니다.

올리브영
올리브영
백엔드

댓글 0개

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

댓글을 불러오는 중...