Skip to content

CDN #

Find similar titles

3회 업데이트 됨.

Edit
  • 최초 작성자
  • 최근 업데이트
    leh

Structured data

Category
Programming

CDN #

CDN (Content Delivery Network)은 곳곳에 분산되어 있는 서버 그룹을 말하며 이를 작동 시켜 인터넷 콘텐츠를 빠르게 전달 할 수 있는 서비스를 말한다. CDN을 사용하면 HTML 페이지, javascript 파일, stylesheet, 이미지 및 비디오 등 인터넷 콘텐트로드에 필요한 디지털화될 수 있는 데이터 자산을 신속하게 전송할 수 있어 CDN 서비스의 인기는 계속해서 높아가고 있다. CDN을 사용하지 않으면 콘텐츠 오리진 서버들은 모든 엔드유저의 요청에 일일이 응답해야 한다. 이는 오리진과 오리진에 막대한 트래픽을 유발하고 이후에도 엄청난 부하를 유발하여 트래픽이 과도하게 증가하거나 부하가 끊임없이 들어오는 경우 오리진에서 장애가 발생할 확률을 높인다.

CDN 작동원리 #

일반적으로 웹 브라우저가 실행되는 디바이스인 PC나 모바일 기기의 사용자 에이전트가 특정 주소에 접근하여 HTML, 이미지, CSS, JavaScript 파일등 렌더링하는 데 필요한 콘텐츠를 서버로부터 요청한다. 대부분의 CDN의 경우 콘텐츠에 대한 각 요청이 발생하면 엔드유저와 가장 가까운 위치에 최적으로 배치된 CDN 서버에 엔드유저가 매핑되고, 해당 서버는 요청된 파일의 캐싱된(사전 저장된) 버전으로 응답(전송)한다. 서버가 파일을 찾는 데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾은 다음 엔드유저에게 응답을 전송한다. 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 오리진 서버에 대한 요청 프록시로 작동하여 향후 요청에 대해 응답할 수 있도록 페칭된 새로운 콘텐츠를 저장한다.

CDN 캐싱 방식 #

  1. Static Caching

    • 사용자의 요청이 없어도 Origin Server에 있는 Content를 운영자가 미리 Cache Server에 복사함

    • 따라서 사용자가 Cache Server에 접속하여 Content를 요청하면 무조건 그 Content는 Cache Server에 있음 (100% Cache Hit)

    • 대부분의 국내 CDN에서 이 방식을 사용함 (예. Pooq 동영상 스트리밍/다운로드, NCSOFT 게임 파일 다운로드 등)

  2. 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 사용의 이점 #

  1. 웹 사이트 로드 시간 개선

    • 다른 최적화 중에서도 가까운 CDN 서버를 사용하여 웹 사이트 방문자에게 더 가까운 컨텐츠를 배포함으로써 방문자는 페이지로드 시간이 더 빨라집니다. 방문자가 느린 로딩 사이트를 클릭 할 확률이 높을수록 CDN은 이탈률을 낮추고 사람들이 사이트에 머문 시간을 늘릴 수 있습니다. 즉, 웹 사이트가 빠를수록 더 많은 방문자가 머물러 오래 있을 수 있습니다.
  2. 대역폭 비용절감

    • 웹 사이트 호스팅을 위한 대역폭 비용은 웹 사이트의 주요 소비 비용이다. 캐싱 및 기타 최적화를 통해 CDN은 원본 서버를 제공해야하는 데이터 양을 줄여 웹 사이트 소유자의 호스팅 비용을 줄인다.
  3. 콘텐츠 가용성 및 이중화 증가

    • 대량의 트래픽 또는 하드웨어 오류로 인해 정상적인 웹 사이트 기능이 중단 될 수 있다. CDN은 분산 된 특성으로 인해 많은 트래픽을 처리 할 수 있으며 많은 기점 서버보다 하드웨어 오류를 견딜 수 있다.
  4. 웹 사이트 보안 향상

    • CDN은 DDoS 완화, 보안 인증서 개선 및 기타 최적화를 제공하여 보안을 향상시킬 수 있다.

CDN 사용의 단점 #

  1. 특정 국가나 지역만을 대상으로 하는 웹 서비스를 운영한다면 CDN 서비스를 활용할 필요가 없다.
    이 경우 CDN을 이용하면 오히려 불필요한 연결 지점이 늘어나 웹 사이트의 성능 저하를 불러올 수 있기 때문이다.

  2. CDN을 위한 Cache Server 들이 많이 보유되지 않거나 성능이 안정적이지 않다면
    최악의 경우 SPOF(단일 장애 점) 문제(즉, 한 군데가 중단되면 전체 시스템이 중단되어버리는 현상)가 발생할 수 있다.

참고문헌 #

  1. CDN이란 무엇입니까?

  2. CDN이란 무엇일까요?

  3. https://libertegrace.tistory.com/entry/Network-CDNContents-Delivery-Network-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0

0.0.1_20240214_1_v81