여느 때와 같이 회사에서 숨을 쉬고 있을 때였다. 회사 메신저 배포방에서 'purge 완료했습니다.' 라는 메세지를 봤는데, 그걸 처음 봤을 때는 '아 SVN에서는 merge를 purge라고도 부르나? 오타인가? 아니면 뭐 다른 SVN 용어인가?' 싶었다.
그냥 그런가보다 ~ 하고 넘어갈려다가 궁금해서 구글링을 해봤는데 'purge'라고 검색해도 잘 안나오고, 'SVN purge'라고 검색해도 잘 안나왔다.
그래서 인프라팀에서 하는 이야기를 귀만 쫑긋해서 들어봤는데 아카마이 어쩌고 퍼지 어쩌고 하는 것을 듣고 'purge가 아카마이의 purge구나'하고 알아차렸다 !!!
Purge란?
Purge는 아카마이에만 있는 것은 아니고 CDN에 있는 것이다.
그럼 CDN은 뭔데?
https://seokmimmmmmmmm.tistory.com/entry/CDNContent-Delivery-Network%EC%9D%B4%EB%9E%80-feat-Akamai
캐시 서버의 캐싱된 컨텐츠가 변경될 경우, 캐시 서버에 자동으로 전달되지는 않는다. 그렇기 때문에, 캐시 서버에 캐싱된 컨텐츠를 강제로 삭제하고 오리진 서버로부터 변경된 컨텐츠를 새로 가져오려면 Purge를 이용해야 한다 !!!
한마디로 캐시 서버에서 삭제하고 다시 오리진 서버에서 받아오도록 하는 기능
Purge는 CDN의 캐시 서버에 저장되어 있는 컨텐츠를 삭제하는 툴(Tool)이다 ! 오리진 서버의 컨텐츠가 변경되었을 때 즉각적으로 캐시 서버에 반영하기 위해서 제공되고 있다 !!!
오리진 서버의 컨텐츠가 변경된 후에 Purge를 하지 않으면, 캐시 서버는 갱신 주기에 의해 오리진 서버의 컨텐츠가 변경되었음을 판단하기 전까지는 캐시 서버에 저장된 컨텐츠를 계속 서비스하게 됨 !
주의사항
- Purge 사용은 오리진 서버의 부하가 걸릴 수 있으므로 한번에 많은 양의 Purge 사용은 위험함 !
- 캐시 서버의 컨텐츠를 사용자가 사용하고 있는 경우 Purge가 불가능함 !
- Purge 수행이 불가능할 경우 오리진 서버의 컨텐츠 파일명을 변경해서 다시 업로드 해야할 수도 ? (파일명 변경으로 인해서 캐시 서버에서 응답을 받지 못하므로 오리진 서버에서 컨텐츠를 찾아오기 때문)
결론
Purge란 캐시 서버에서 삭제하고 다시 오리진 서버에서 받아오도록 하는 기능 !!! 물론 주의사항도 있음 (바로 윗줄에)