📌 면접 답변
Cache Stampede (캐시 쇄도, 캐시 스탬피드)
- 여러 요청이 동시에 캐시가 만료된 데이터를 요청하면서, 모두가 DB에 몰리는 상황
- DB로 트래픽이 집중되어 서비스 장애가 발생할 위험이 있다.
- stamped는 말이나 소 떼가 공포에 질려 한 방향으로 갑자기 달리는 것을 의미한다.
- cache Stampede도 마찬가지로 캐시가 비는 순간, 수많은 요청이 우르르 백엔드로 몰려드는 상황이 생긴다.
Cache Stampede 완화 방법
1. Locking (잠금)
- 한 요청 처리 스레드만 캐시 적재를 수행하고, 나머지 스레드는 대기
- 캐시를 적재하면 TTL(Time-To-Live,만료 시간) 늘어남
- 성능 저하 가능성
- 잠금 스레드 실패 시 문제 발생
- 잠금 생명 주기 및 데드락 고려
뭐만 하면 잠금하면 왠만하면 해결되긴하는데, 성능 저하 문제가 있다 ...
또한 잠금으로 인한 데드락 문제는 덤이고 ㅠㅠ
2. External Recomputation (외부 재계산)
- 별도의 모니터링 스레드로 캐시의 만료시간이 얼마 남지 않은 경우, 데이터를 미리 갱신
- 요청 스레드가 직접 캐시 적재에 관여하지 않는다.
- 하지만 사용되지 않을 데이터를 포함하여 갱신하기 때문에 메모리가 낭비 될 수 있다.
3. Probabilistic Early Recomputation (확률 조기 재계산)
- 캐시 만료가 임박했을 때, 일부 요청 스레드만 확률적으로 캐시 재계산
- 요청 자체가 캐시를 갱신 (TTL이 늘어남)
- 중복 계산이 줄이고, 스탬피드 완화 가능
- 확률 계산 로직이 복잡할 수 있음
📌 내 답변
캐시 스탬피드 현상에 대해 처음 들어본다.
하지만 stampede (몰려들다) 라는 단어로 유추해보자면,
캐시에 많은 데이터들이 갑자기 몰려들어와서, 캐시의 제대로 된 기능을 수행하지 못하거나
또는 데이터가 누락되는 것을 의미하는 것 같다.
긍정적인 현상은 아닌 것 같다.
Self - Feedback
- 모르는 개념이지만, 뜻을 통해 최대한 유추해보려는게 나쁘지는 않았다.
- 캐시에 몰려드는 것이 아니라, DB에 몰려드는 것이다.
- 다만, 뜻 유추의 깊이가 아쉽다. (키워드 하나 하나에 대부분 사전적 의미와 연관성이 높다.)
[출처 및 참고 자료]
https://www.maeil-mail.kr/question/132
매일메일 - 기술 면접 질문 구독 서비스
기술 면접 질문을 매일매일 메일로 보내드릴게요!
www.maeil-mail.kr
면접 내용 출처
https://toss.tech/article/cache-traffic-tip
캐시 문제 해결 가이드 - DB 과부하 방지 실전 팁
대용량 트래픽 환경에서 캐시를 사용할 때 주의해야할 위험 상황과 예방법을 소개합니다.
toss.tech
토스 테크
'😀 Jerry > 면접 질문' 카테고리의 다른 글
[1분 면접] Redis가 싱글 스레드로 만들어진 이유 (0) | 2025.04.01 |
---|---|
[1분 면접] 스케일 아웃과 스케일 업의 차이점 (0) | 2025.03.31 |
[1분 면접] ACID에 대해 설명해주세요. (0) | 2025.03.25 |
[1분 면접] REST란 무엇인가 ? (0) | 2025.03.24 |
[1분 면접] 캐싱 전략에 대해서 설명해주세요. (0) | 2025.03.17 |