CDN

김상현·2020년 6월 19일
0

개발상식

목록 보기
1/6
post-thumbnail

CDN(Contents Delivery Network)이란?

  • 서버에서 멀리 떨어져있는 사용자에게 컨텐츠를 더 빠르게 제공할 수 있는 기술로써 서버 자체를 여러곳에 두고 이용자가 요청했을 때 제일 근접한 서버에서 처리함으로써 지연되는 시간을 줄여준다. 이 과정에서 여러곳에 캐시 서버를 분산해서 한개의 서버가 죽더라도 다른 서버에서 서비스 제공을 할 수 있다.

  • CDN을 사용할 경우 서버의 트래픽 부하 및 비용을 줄이고 사용자에게 빠른 서비스제공도 가능하다.


  • CDN을 사용하지 않을 경우 콘텐츠를 제공하는 서버들은 모든 사용자의 요청에 일일이 응답해야한다. 이는 막대한 트래픽을 유발하고, 트래픽이 과도하게 증하거나 부하가 끊임없이 들어오는 경우 장애가 발생할 확률도 크다.


  • CDN의 작동원리

    1. 최초 요청은 서버로부터 컨텐츠를 가져와 고객에게 전송하고 동시에 CDN캐싱 장비에 저장한다.

    2. 두번째 요청부터는 지정해 놓은 해당 컨텐츠의 저장 만료 시점까지 CDN 캐싱장비에서 저장된 컨텐츠를 전송한다.

    3. CDN 서버에서 파일을 찾는데 실패하는 경우 다른 CDN 서버에서 콘텐츠를 찾아 유저에게 응답하고 전송한다.

    4. 저장된 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 서버에 대한 요청을 프록시로 작동하여 요청에 대해 응답할 수 있도록 새로운 콘텐츠를 저장한다.

    5. 자주 사용하는 페이지에 한해서 CDN장비에서 캐싱이 되며, 해당 컨텐츠 호출이 없을 경우 주기적으로 삭제한다.
  • CDN 캐싱 방식

    1. Static Caching

    • Origin Server에 있는 Content를 운영자가 미리 Cache Server에 복사해서 사용자가 콘텐츠 요청시 무조건 Cache Server에서 응답한다.


      2. Dynamic Caching
    • Origin Server에 있는 Content를 운영자가 미리 Cache Server에 복사하지 않고 사용자가 Content를 요청시 해당 Content가 없는 경우 Origin Server로부터 다운로드 받아 전달한다.
    • 각각의 Content는 일정 시간이후 Cache Server에서 삭제될 수 도 있다.

0개의 댓글