Content Delivery Networt
지리적으로 멀리 위치한 사용자에게 콘텐츠를 더 빠르게 제공하기 위해 분산된 서버의 네트워크
지리적으로 먼 위치에서 인터넷 전송이 이루어지면 사용자에게 지연이 발생한다.
(CDN => CDN 노드가 여러 지역과 대륙에 걸쳐 분산되므로 사용자는 가까운 지역에 있는 노드에 의해 콘텐츠를 제공받게 된다. 방문자에게 더 가까운 콘텐츠를 배포함으로써 페이지 로드 시간이 더 빨라진다.)
같은 웹 서버에 접속하는 사용자 수가 늘어나 웹 서버 부하가 증가하면 사용자 경험이 악화된다.
(CDN => 사용자의 요청을 모두 원본 서버로 보내는 대신 분산 노드로 보내어 원본 서버의 부하 최소화한다. 더 많은 트래픽을 처리할 수 있다.)
더 많은 사용자에게 컨텐츠를 제공하기 위해 더 많은 대역폭이 필요해짐에 따라 원본 서버에서 콘텐츠를 제공하기 위해 지불해야 하는 대역폭 비용이 증가한다.
(CDN => 캐싱 및 기타 최적화를 통해 원본 서버를 제공해야 하는 데이터 양을 줄여 웹 사이트 소유자의 호스팅 비용을 줄인다. 비용을 더욱 최적화하기 위해 대역폭 비용이 가장 저렴한 CDN 노드 위치를 선택하여 콘텐츠를 제공할 수도 있다.)
사용자가 웹 사이트에 액세스
⬇
가까운 최적 CDN 노드로 전송
⬇
(case1: 해당 CDN 노드에 캐싱된 데이터)
해당 노드에서 사용자에게 제공
⬇
(case2: 캐싱되지 않은 데이터)
1. 해당 노드가 원본 서버로 요청하여 데이터를 가져온 뒤 사용자에게 제공
2. 향후 요청을 위해 해당 데이터 캐싱
원칙적으로 특정 콘텐츠를 처음 요청하는 사용자에게만 지연이 발생하고 이 콘텐츠를 나중에 요청하는 사용자는 원본 서버를 거칠 필요없이 CDN노드에서 콘텐츠를 제공받기 때문에 해당 콘텐츠에 더 빨리 접근할 수 있다.
콘텐츠 캐시 설정에 따라 콘텐츠가 오래되어 만료된 경우 CDN노드에서 콘텐츠를 다시 가져와야 하기도 한다.
https://goddaehee.tistory.com/173
http://www.incodom.kr/CDN
https://www.alibabacloud.com/ko/knowledge/what-is-cdn