목록 보기
올리브영은 왜 선물하기를 개편했을까? Part - 2
백엔드

올리브영은 왜 선물하기를 개편했을까? Part - 2

올리브영
올리브영
2025년 8월 4일

두줄요약

선물하기 전시 영역의 캐시 적용 방식을 커스텀 모듈과 AoP로 재구성했습니다. Redis 분산 락을 더해 캐시 스탬피드까지 해결했습니다.

문제 상황

  • 선물하기 전시 영역에서 캐시 적용 코드가 @CircuitBreaker와 @Cacheable로 분리되어 사용성과 유지보수성이 떨어짐
  • 캐시 key, TTL, Redis hash 지원, fallback 처리 등 요구가 늘어나며 기존 방식의 한계가 드러남
  • 부하 테스트에서 캐시 만료 시 다수 요청이 DB로 몰리는 캐시 스탬피드 발생

해결 방법

  • @DisplayCaching, @DisplayCachingKey, DisplayCacheModule, Aspect를 조합한 커스텀 캐시 모듈 설계
  • Redis VALUE/HASH 지원, 동적 키 생성, 날짜 접미사, TTL, 실패 처리 옵션, fallback 후 재적재 여부를 어노테이션 속성으로 제어
  • 캐시 스탬피드 대응을 위해 Redis 기반 분산 락을 추가해 fallback 실행을 한 번으로 제한

다음 읽기

#Spring Boot 주제를 이어서 읽기

올리브영은 왜 선물하기를 개편했을까? Part - 1

올리브영 선물하기관은 DB 의존과 배치 지연으로 성능과 신뢰성 문제가 있었습니다. 전시 전략 통합과 AOP·리플렉션 기반 개선으로 빠르고 정확한 서비스로 개편했습니다.

올리브영
올리브영
백엔드

댓글 0개

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

댓글을 불러오는 중...