[CS 지식] CDN(Content Delivery Network)

신현식·2022년 11월 11일
0

CS 지식

목록 보기
7/17
post-custom-banner

CDN란


콘텐츠 전송 네트워크(Content delivery network 또는 content distribution network (CDN))는 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템을 말한다. 즉 대용량 또는 사용자의 잦은 요청이 있는 컨텐츠들을 Cache 서버에 분산 배치하여 컨텐츠의 전송 중 발생하는 트래픽 집중 & 병목현상 및 데이터 손실을 해결하기 위해 등장한 컨텐츠 전송 기술을 의미한다. (느린 응답속도/다운로딩 타임을 극복하기 위한 기술)

📌 CDN 원리

최초로 웹 브라우저에서 URL을 이용하여 웹 사이트에 접속을 시도하게 되면 Origin Server로부터 컨텐츠를 가져와 유저에게 전송하며 동시에 CDN Cache Server에 저장한다. 하지만 CDN Cashing 방식이 무엇이냐에 따라 이는 달라질 수도 있다고 한다.
그 이후에 발생하는 요청은 유저와 가장 가까운 위치에 배치된 CDN Cache Server로 사용자를 접속시키게 되며 컨텐츠 만료 시점까지 저장된 컨텐츠를 여기서 바로 전달해준다. 서버가 Cache Server에서 요청된 파일을 찾는데 실패했거나 너무 오래되어 만료기간이 지났을 경우에는 삭제 되어있을 것이므로 Origin Server에서 파일을 조회하여 사용자에게 전달하며, CDN은 새로운 콘텐츠를 저장한다.

💡 CDN Cashing 방식의 종류

✔ Static Caching

  • 사용자의 요청이 없어도 Origin Server에 있는 Content를 운영자가 미리 Cache Server에 복사함
  • 따라서 사용자가 Cache Server에 접속하여 Content를 요청하면 무조건 그 Content는 Cache Server에 있음! (100% Cache Hit)
  • 대부분의 국내 CDN에서 이 방식을 사용함 (예. Pooq 동영상 스트리밍/다운로드, NCSOFT 게임파일 다운로드 등)

✔ Dynamic Caching

  • 최초 Cache Server에는 Content가 없음
  • 사용자가 Content를 요청하면 해당 Content가 있는지 확인하고, 없으면(Cache Miss) Origin Server로부터 다운로드 받아(Cache Fill) 사용자에게 전달해 줌
  • 이후 동일 Content를 요청 받으면 저장(캐싱)된 Content를 사용자에게 전달(Cache Hit)
  • 각 Content는 일정 시간(TTL)이 지나면 Cache Server에서 삭제될 수 있고, 혹은 Origin Server를 통해 Content Freshness 확인 후에 계속 가지고 있을 수 있음
  • Akamai, Amazon과 같은 Global CDN 업체, 그리고 Cisco나 ALU의 통신사업자향 CDN 장비 솔루션에서 이 방식을 지원함

📌 CDN의 장단점

✔ CDN의 장점

  • 글로벌 범위안에서 장거리 웹 사이트 로딩 속도 개선과 함께 안정적인 콘텐츠 제공이 가능하다.
  • 전세계의 인프라와 별도의 서비스 제공 업체에 투자하는 대신 글로벌 CDN을 사용하면 호스팅에 많은 비용을 지불할 필요가 없으므로 비용을 절감할 수 있다.

✔ CDN의 단점

  • 특정 국가나 지역만을 타깃으로 하는 웹 서비스를 운영한다면 CDN 서비스를 활용할 필요가 없다. 이 경우 CDN을 이용하면 오히려 불필요한 연결 지점이 늘어나 웹 사이트의 성능 저하를 불러올 수 있기 때문이다.
  • CDN을 위한 Cache Server들이 많이 보유되지 않거나 성능이 안정적이지 않다면 최악의 경우 SPOF(단일 장애점) 문제(즉 한 군데가 중단되면 전체 시스템이 중단되어버리는 현상)이 발생할 수 있다.
profile
전공 소개
post-custom-banner

0개의 댓글