-
CDN이란
CDN이란 (Content Delivery Network)약자로 콘텐츠배포네트워크라고도 불린다.
CDN은 지리적, 물리적 거리의 제약이 없이 전 세계 사용자에세 빠른속도와 안전하게 콘텐츠를 제공할 수 있는
배포 기술을 말한다.
클라이언트가 웹페이지나 이미지, 동영상 등이 컨텐츠를 서버에게 요청하면 사용자에게 전송을 해주는데 이때
지리적, 물리적으로 사용자와 서버의 거리가 멀다면 빠르게 전송하지 못한다.
예를들어 한국에 있는 사이트를 외국사람들이 접속한다고 가정하자.
한국에 있는 사이트를 한국 사용자가 접속하면 속도가 빠르겠지만 외국에서 접속한 사람들은 지리적으로
한국과 멀기 때문에 그만큼 느린속도를 느끼게 된다.
사용자 입장에서는 느린속도를 느끼고 세계각지에서 접속하면 서버가 과부하 될수도 있다.
그걸 해결하기위한 대표적인 기술이 CDN이다.
CDN의 원리
그렇다면 CDN은 어떻게 동작하는 것 일까?
CDN의 동작원리는 다음과 같다.
- 최초 요청은 일반적으로 오리진 서버에서 컨텐츠를가져오고 캐시서버에 저장한다.
- 최초요청 이후로는 캐시서버에서 해당컨텐츠를 전송한다.
- 서버가 파일을 찾는데 실패하는 경우 CDN 플랫폼의 다른 서버에서 컨텐츠를 찾아 엔드유저에게 전송한다.
CDN 캐싱 방식
근데 최초 요청을 다 오리진서버에서 하는건 아니다.
Static Caching
- 오리진 서버에 있는 컨텐츠를 운영자가 미리 캐시서버에 복사 해두어 사용자가 요청시 무조건 캐시서버에서 응답한다.
- 대부분 국내 CDN에서 이방식을 사용한다. (ex: 게임 클라이언트 다운로드)
Dynamic Caching
- 오리진 서버에있는 콘텐츠를 운영자가 미리 캐시서버에 복사하지 않는다.
- 사용자가 컨텐츠 요청시 캐시서버에 컨텐츠가 없는경우 오리진 서버로부터 가져와 전송후 캐시서버에도 전달한다.