Thundering Herd 해결: singleflight로 캐시 미스 요청 합치기
Thundering Herd를 막으려면 TTL 분산뿐 아니라 같은 키의 동시 재조회도 합쳐야 합니다. Node.js Promise Map 예제, 오류 후 정리, 테넌트 키 분리, 여러 인스턴스에서의 한계를 설명합니다.
약 12분 읽기
Thundering Herd를 막으려면 TTL 분산뿐 아니라 같은 키의 동시 재조회도 합쳐야 합니다. Node.js Promise Map 예제, 오류 후 정리, 테넌트 키 분리, 여러 인스턴스에서의 한계를 설명합니다.
Redis Hot Key와 Big Key를 구분하고 redis-cli --hotkeys의 LFU 조건, 샤드별 관측, 애플리케이션 샘플링을 확인하세요. 로컬 캐시·키 분산·레플리카를 선택할 때의 일관성 한계도 설명합니다.
Bloom Filter의 1% 오탐률이 무엇을 의미하는지, 100만 항목에 필요한 비트 수를 계산하고 Redis BF.RESERVE·BF.INFO 예제로 확인합니다. 삭제·동기화·DB 조회 생략의 위험도 설명합니다.