무효화 [Purge]
개요
무효화란? Origin의 컨텐츠가 변경된 것을 CDN 서버들(Edge + Relay)에 알리는 역할을 한다.
무효화의 필요성
새로운 컨텐츠가 같은 URL인 경우, Edge 서버와 Relay 서버에서는 자신이 Cache 하고 있는 컨텐츠를 반환할 것이다.
이 때, 여러 이슈로 인해 Expired가 되기 전에 컨텐츠를 교체하는 일이 발생 할 수 있다.
- 잘못된 이미지 cache로 인해 갱신
- 신상정보 노출 등으로 인핸 갱신
- 이벤트 마감으로 인한 갱신
등등이 있다.
무효화 순서
무효화를 하기 위해서는 순서가 중요하다.
캐시를 제거하는 중에 old된 컨텐츠를 재 갱신할 수 있기 때문이다.
Client -> Edge -> Relay -> Origin 순이라면
Relay를 모두 성공하고 난 뒤, Edge를 무효화 해야한다.
무효화 방법
무효화를 위한 방법은 크게 2가지가 존재한다.
- Cache 삭제 무효화
- TTL 무효화
1. Cache 삭제 무효화
Cache 파일을 삭제하여, 해당 서버에 Cache가 없는 상태로 만들어 버린다.
다음 요청에서는 MISS 했다고 판단 다음 서버로 넘어가게 된다. (Edge -> Relay, Relay -> Origin)
2. TTL 무효화
Cache를 삭제하지 않고, 만료된 것으로 만든다. (Expired)
해당 무효화의 장점은 Header를 통해 revaildate가 가능하다.
즉, Header 정보를 이용하여, 서버가 가지고 있는 컨텐츠가 갱신이 필요한지 여부를 확인하여 필요시에만 갱신한다.
- 갱신이 필요 O, Expired
- 갱신이 필요 X, Revaildate
이렇게 사용된다.