올리브영, 다중 레이어 캐싱으로 증정 행사 시스템 성능 UP!
by DD
1년 전
조회수 10
Amazon RDS에서 Redis로 캐싱 시스템을 구축하여 증정 행사 데이터 조회 성능을 개선함
ElastiCache의 Network Bytes out 증가 문제를 해결하기 위해 Caffeine Cache 기반 로컬 캐시를 도입함
TPS 478% 증가, Redis Network Bytes out 99.1% 감소를 달성하며 시스템 안정성을 확보함
다중 레이어 캐싱 아키텍처 심층 분석
올리브영은 Redis를 활용한 글로벌 캐시와 Caffeine Cache 기반 로컬 캐시를 결합하여 다중 레이어 캐싱 아키텍처를 구축했다. ElastiCache의 Network Bytes out 문제를 해결하기 위해 로컬 캐시를 도입, TPS 478% 증가라는 놀라운 성과를 달성했다. 따라서 Redis 부하를 줄이고, 시스템 안정성을 확보했다.
로컬 캐시와 글로벌 캐시의 트레이드오프
로컬 캐시는 빠른 접근 속도를 제공하지만, 분산 환경에서 데이터 일관성 문제가 발생할 수 있다. 반면, Redis와 같은 글로벌 캐시는 데이터 일관성을 보장하지만, 네트워크 비용이 발생한다. 따라서 다중 레이어 캐싱은 두 가지 장점을 결합하여 성능과 일관성 사이의 균형을 맞춘다.
Caffeine Cache 적용 및 최적화 전략
Caffeine Cache는 Spring Boot 환경에서 쉽게 적용할 수 있으며, 다양한 옵션을 제공한다. expireAfterWrite, maximumSize 등의 설정을 통해 캐시의 생명 주기와 크기를 제어할 수 있다. 구체적으로, @Cacheable 어노테이션과 Enum 클래스를 활용하여 유연한 캐시 설정을 구현했다.