CDN이란?

CDN(Content Delivery Network)(콘텐츠 전송 네트워크)는 사용자와 가까운 곳에서 콘텐츠를 전송함으로써 더 빠르고 안정적인 서비스를 제공하는 것이다.

 

지리적으로 분산된 여러 개의 서버로, 콘텐츠를 사용자와 가까운 서버에서 전송함으로써 전송 속도를 높인다.

 

전 세계 데이터센터는 파일 복사본을 임시로 저장하는 캐싱을 사용하는데 따라서 사용자는 가까운 서버에 접속할 수 있다.

 

웹 페이지, 이미지, 비디오 등의 콘텐츠를 가까운 물리적 위치의 서버에 캐싱한다.

 

CDN의 원리를 보면 알 수 있듯이 프로식 서버의 한 종류인 Reverse Proxy로 동작하는 캐시 서버이다.

 

CDN을 사용하는 이유?
  1. 물리적 거리 : 사용자와 가까운 서버에서 통신을 하므로 콘텐츠 제공 속도가 빠르다.
  2. 부하분산 : 일반 서버만 사용할 경우 트래픽이 갑자기 급증하거나 컨텐츠양이 증가하는 경우 부하가 집중되어 장애가 발생할 가능성이 있는데 CDN 도입을 통해 일반 서버의 부하를 줄일 수 있다.

 

CDN의 장점
  1. 비용 절감 : 본 서버로 직접 요청되지 않기 때문에 대역폭 비용이 크게 절감된다. 즉, 호스팅 비용이 절감된다.
  2. 가용성과 안정성 증가 : 본 서버의 부담이 덜어져 과부하로 인한 오류가 줄어들어 안정적인 서비스 제공 가능.
  3. 보안 : 일반 서버만 이용할때 보다 DDos로 인한 서버 다운에 더 강하며 CDN 서버에서 정상적인 요청과 비정상적인 요청을 구분해내어 요청수를 제한하거나 집중된 요청을 분산가능하다.

 

CDN 캐싱 방식
  1. Static Caching(정적 캐싱) : 본 서버에 있는 콘텐츠를 CDN서버에 미리 캐싱 해두어 사용자가 빠르게 접근 가능한 방법.
  2. Dynamic Caching(동적 캐싱) : 미리 CDN 서버에 캐싱하지 않고 사용자가 콘텐츠 요구 시 해당 콘텐츠가 CDN 서버에 없는 경우 본 서버에서 다운로드 받아 전달하고 있는 경우 CDN 서버에서 컨텐츠 전달을 한다. 일정 시간 이후 CDN 서버에서 캐싱 콘텐츠가 삭제될 수 있다. (이 점이 차이점)

+ Recent posts