배포하고 나서 이미지랑 정적 파일 CDN에 올리라는 얘기를 많이 들어서 그냥 시키는 대로 했는데, 정작 CDN이 뭔지 제대로 이해를 못 하고 있어요.
제가 이해한 건 그냥 파일 올려두는 서버 하나 더 두는 거? 정도인데 이러면 서버가 하나 더 늘어나는 건데 왜 오히려 빨라진다는 건지 이해가 안 돼요. 그냥 제 원본 서버에서 이미지 내려주면 되는 거 아닌가요?
찾아보니까 전 세계에 서버가 여러 대 흩어져 있고 사용자랑 가까운 데서 파일을 준다는데, 그럼 예를 들어 이런 식으로 이해하면 되나요?
CDN 없음: 한국 사용자 -> 미국 원본 서버 (매번 태평양 건너감)
CDN 있음: 한국 사용자 -> 한국 엣지 서버 (캐시된 파일)
이게 맞다면 캐시라는 게 결국 핵심인 거 같은데, 그럼 이미지 같은 건 그렇다 쳐도 자주 바뀌는 데이터는 CDN에 올리면 안 되는 건가요? 그리고 파일을 수정해서 새로 올렸는데 CDN에 옛날 버전이 계속 남아 있으면 그건 또 어떻게 처리하나요? 캐시 무효화 이런 얘기가 나오던데 실무에서 이거 어떻게들 다루는지 궁금합니다.