패스잇
시스템 설계 · 중급

웹 서비스에서 캐싱(Caching)을 적용할 때 고려할 수 있는 대표적인 캐싱 전략(예: Cache-aside, Write-through, Write-back)들을 설명하고, 각 전략이 어떤 상황에 적합한지 비교해 주세요.

힌트 · 데이터 일관성, 쓰기 성능, 읽기 성능 측면에서 각 전략의 장단점을 비교하고 적절한 사용 사례를 제시합니다.

Cache-asideWrite-throughWrite-backCache InvalidationConsistency

모범답안

웹 서비스 캐싱 전략은 크게 Cache-aside, Write-through, Write-back 세 가지를 고려할 수 있습니다.

Cache-aside는 애플리케이션이 직접 캐시를 관리하는 방식입니다. 데이터 요청 시 캐시에 있으면 반환하고, 없으면 DB에서 가져와 캐시에 저장 후 반환합니다. 읽기 성능이 좋고, 캐시 장애 시에도 DB로 대체 가능하지만, 캐시 미스 시 레이턴시가 증가할 수 있습니다. 데이터 변경 시 캐시를 무효화하는 전략이 중요합니다.

Write-through는 데이터 변경 시 캐시와 DB에 동시에 쓰는 방식입니다. 데이터 일관성이 보장되지만, 쓰기 성능이 저하될 수 있습니다. 읽기 성능은 Cache-aside와 유사합니다.

Write-back은 데이터 변경 시 캐시에만 쓰고, 일정 주기 또는 조건에 따라 DB에 반영하는 방식입니다. 쓰기 성능이 매우 좋지만, 캐시 장애 시 데이터 손실 위험이 있고, 데이터 일관성 문제가 발생할 수 있습니다.

일반적으로 읽기 위주의 서비스에는 Cache-aside, 데이터 일관성이 중요한 서비스에는 Write-through, 쓰기 성능이 중요한 서비스에는 Write-back을 고려할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 대용량 트래픽 설계 면접 질문

← 대용량 트래픽 설계 면접 질문 전체 보기