WEBBOOK CHAPTER

실패를 전제로 설계하는 분산시스템: 7장. 캐시는 정본이 아니라 오래될 수 있는 복사본이다

7장. 캐시는 정본이 아니라 오래될 수 있는 복사본이다

캐시 키, TTL, 무효화 주체, stale 허용 시간, stampede 방어, 장애 모드를 정한다. 예약 가능 여부처럼 경쟁에 민감한 값은 캐시만 보고 확정하지 않는다. 읽기 힌트로 쓰고 최종 쓰기는 정본의 조건부 변경으로 검증한다.

cache-aside는 단순하지만 DB 갱신과 캐시 삭제 사이 실패가 있다. write-through는 경로를 묶지만 캐시 가용성이 쓰기에 영향을 줄 수 있다. 어떤 패턴이든 캐시가 없어도 느리게 동작하는지, 잘못된 캐시가 불변식을 깨지 않는지 실패 주입한다.