콘텐츠 전송 네트워크(CDN)

김동헌·2025년 4월 3일

대규모 설계

목록 보기
2/6
post-thumbnail

CDN이란 ?

CDN(Content Delivery Network) 의 약자로, 전 세계 여러 곳에 콘텐츠를 저장하는 서버(캐시 서버) 를 두고, 사용자에게 가장 가까운 서버에서 콘텐츠를 제공해주는 시스템

즉, 정적 콘텐츠를 전송하는 데 쓰이는, 지리적으로 분산된 서버의 네트워크

해당 포스팅에는 CDN을 사용해 정적 콘텐츠를 캐시하는 방법에 집중하겠습니다.

CDN 동작 방식

  1. 사용자가 웹사이트에 접속
  2. 웹 서버는 요청된 정적 자원을 CDN 서버(가장 가까운)로 전달
  3. CDN은 해당 자원을 가지고 있으면 바로 응답, 없다면 원본 서버에서 가져와 캐싱하고, 이후엔 가져온 자원을 사용

사용자가 CDN 서버로부터 멀면 멀수록 웹 사이트는 천천히 로드된다.

예를 들어, CDN 서버가 서울에 있다면 경기도에 있는 사용자는 일본에 있는 사용자보다 빠른 웹사이트를 볼 수 있다.

CDN이 사이트 로딩 시간을 그림을 통해 간접적으로 이해해보자.

아래는 CDN의 동작을 설명하는 그림이다.

동작 설명
    1. Client A가 img.png를 요청한다.
    2. CDN에 img.png가 없으면 원본 서버에 요청하여 콘텐츠를 가져온다.
    3. 가져온 img.png를 CDN에 캐시한다.
    4. CDN이 Client A에게 img.png를 반환한다.
    5. Client B가 동일한 img.png를 요청한다.
    6. CDN은 이미 캐시된 img.png를 사용하여, 원본 서버를 거치지 않고 Client B에게 바로 반환한다.

Point
1~4 : 최초 요청 -> 캐시 미스 -> 원본 서버 요청 -> 캐시 저장 -> 응답
5~6 : 이후 요청 -> 캐시 히트 -> 바로 응답 (원본 서버 불필요)


넷플릭스 CDN ?

다음 장으로..

profile
백엔드 기록 공간😁

0개의 댓글