CDN(Content Delivery Network, 콘텐츠 전송 네트워크)은 전 세계 여러 지역에 분산된 서버 네트워크를 이용하여 사용자에게 더 빠르고 안정적으로 콘텐츠를 제공하는 기술
사용자가 웹사이트 요청
브라우저에서 특정 웹사이트를 요청하면, DNS 조회를 통해 CDN 서버로 연결.
CDN 서버 확인 및 콘텐츠 제공
CDN은 요청한 콘텐츠가 캐싱되어 있는지 확인하고,
캐싱되어 있으면 바로 응답,
없으면 원본 서버에서 가져와 저장 후 응답
콘텐츠 캐싱 및 업데이트
일정 시간(Cache Expiry) 동안 CDN 서버에 데이터를 저장하고, 정해진 주기에 맞춰 원본 서버에서 데이터를 갱신한다.
엣지 서버(Edge Server)
사용자와 가까운 지역에 위치한 서버로, 캐싱된 데이터를 제공.
오리진 서버(Origin Server)
웹사이트의 원본 데이터를 저장하는 서버, CDN이 캐싱하지 않은 데이터를 요청할 때 사용.
캐싱(Cache) 전략
콘텐츠의 유형에 따라 캐싱 정책 설정. (ex: 정적 콘텐츠 - 장기 캐싱, 동적 콘텐츠 - 짧은 캐싱)
로드 밸런서(Load Balancer)
여러 CDN 서버 간 트래픽을 분산, 최적의 응답 속도 제공.
사용자의 위치에 따라 가장 가까운 CDN 서버에서 콘텐츠를 제공하여 지연(latency)을 최소화한다.
원본 서버(origin server)에 집중되는 트래픽을 CDN이 분산하여 서버 부하 감소.
CDN 서버가 트래픽을 분산 처리하여 대량의 악성 트래픽이 몰려도 원본 서버를 보호.
동일한 콘텐츠를 여러 번 다운로드하는 것이 아니라, CDN 서버에서 캐싱된 데이터를 제공하여 네트워크 비용을 절감.
특정 지역에서 네트워크 장애가 발생시 다른 지역의 CDN 서버를 통해 콘텐츠를 제공,
서비스 가용성 유지.
CDN을 활용하면 빠르고 안전한 웹서비스 운영이 가능하다.