CDN이란 무엇인가?

김명수·2025년 11월 26일

매일메일

목록 보기
55/101
post-thumbnail

CDN이란 무엇인가?

●CDN이란 무엇인가?

  • 콘텐츠 전송 네트워크(Content Delivery Network, CDN) 은 전 세계에 분산된 서버 네트워크며, 사용자와 물리적으로 가까운 위치에서 정적 콘텐츠(혹은 동적 콘텐츠)를 제공하여 서버 과부하를 방지하고 통신 지연을 단축하며, CDN은 통신에 참여하는 호스트 간에 중간 서버를 두어 성능을 향상하며 대표적인 CDN 서비스로는 CloudFront, CloudFlare 등이 있음

●CDN에서 Push 방식과 Pull 방식의 차이점

  • Push 방식은 원본 서버가 콘텐츠를 미리 CDN 서버로 전달하는 방식이며, Push 방식은 적절한 시기에 정확한 콘텐츠를 제공할 수 있지만, 지속적으로 업데이트를 해줘야 한다는 점에서 관리 비용이 상대적으로 높음

  • Pull 방식은 CDN 서버가 원본 서버로 요청을 보내 콘텐츠를 가져오는 방식이며 클라이언트가 요청을 보내는 경우, CDN에 원하는 콘텐츠가 없다면 원본 서버로부터 콘텐츠를 가져와서 업데이트하는 방식으로 동작하며 초기 요청에서는 원본 서버에서 콘텐츠를 가져오는 작업을 수행해야 하므로 응답 속도가 저하될 수 있음

●CDN을 사용해야 할 때 고려해야 할 점

  • CDN을 사용해야 할 때는 크게 비용, 만료 시간, CDN 장애 대응, 콘텐츠 무효화를 고려해야 함

1.CDN은 주로 제 3 사업자(클라우드 서비스 등)에게 비용을 지불하고 사용하며, 비용 대비 효과를 고려하여 비판적으로 도입하고, 성능 향상이 필요한 콘텐츠만 캐싱하는 등 비용을 절약하기 위한 고민이 필요
2.콘텐츠의 적절한 만료 시간에 대해서 고려해야 하며, 콘텐츠의 만료 시간이 길다면 신선도가 떨어지며, 짧다면 원본 서버로의 요청이 빈번해짐
3.CDN에 장애가 발생했을 때 어떻게 대응해야 할지 고려해야 하며 예를 들면, CDN에서 콘텐츠를 응답할 수 없는 경우, 클라이언트에서 원본 서버로부터 직접 콘텐츠를 가져오도록 구성할 수 있음
4.CDN에 존재하는 콘텐츠를 무효화하기 위해서 어떤 방식을 선택할 것인지 고려해야 하며 예를 들면, 오브젝트 버저닝을 사용하거나 CDN 서비스에서 제공되는 API를 사용할 수 있음

profile
신입개발자

0개의 댓글