CDN(Content Delivery Network)은 서버와 사용자 사이의 물리적인 거리를 줄여서 사용자에게
컨텐츠를 더욱 빠르게 제공할 수 있게 해주는, 분산된 서버로 이루어진 플랫폼입니다.
요약하면, 전 세계에 촘촘히 분산된 서버 네트워크입니다.
CNN의 목표는 웹 페이지에 대한 요청이 이동해야 하는 물리적 거리를 줄여 요청을 제출한 시간과
웹 페이지가 완전히 로딩될 때까지의 지연 시간을 줄이는 것입니다.
예를 들면, 우리가 만약 미국 기반 서버에서 생성된 콘텐츠를 보려는 경우에,
이 요청은 매우 긴 거리를 이동해야 하므로 로딩 시간이 길어질 수 있습니다.
이를 위해 CDN은 PoP(Points of Presence)에 전 세계의 여러 지역에서 캐시된 버전의 웹사이트 컨텐츠를 저장하고,
PoP에는 자체 캐싱 서버가 포함되어 있으며 사용자에게 컨텐츠를 제공해줍니다.
즉, 서버와 요청한 지역 간의 물리적 거리가 먼 것을 보완해주기 위해 서버를 곳곳에 두고
요청을 가장 근접한 서버에서 처리함으로써 지연되는 시간을 줄여줍니다.
여러 곳에 캐시 서버가 분산되어 있으므로, 가장 가까운 서버가 다운이 되더라도 다른 서버에서 컨텐츠를 제공해줍니다.
CDN은 다음과 같이 동작합니다.
1. 최초의 컨텐츠에 대한 요청은 컨텐츠를 가지고 있는 서버에서 가져와서 제공함과 동시에 CDN 캐싱 장비에 저장합니다.
2. 두 번째 요청부터는 CDN 업체에서 지정한 기간까지 요청을 CDN 캐싱 장비에 저장된 컨텐츠에서 제공합니다.
3. 해당 컨텐츠가 요청이 없으면 주기적으로 삭제해줍니다.
4. 서버가 파일을 찾는 것을 실패하면, 다른 서버에서 컨텐츠를 찾아서 전송해줍니다.
CDN 캐싱의 방법
Static Caching
Origin 서버에 있는 컨텐츠를 운영자가 미리 캐시 서버에 복사해두고, 사용자가 요청할 때 무조건 캐시 서버에서 컨텐츠를 제공해줍니다.
Dynamic Caching
Origin 서버에 있는 컨텐츠를 미리 캐시 서버에 복사해두지 않고, 사용자의 요청이 있고 캐시 서버에
해당 컨텐츠가 없는 경우에 origin 서버에서 받아서 전달해줍니다.
컨텐츠는 오랜 시간 요청이 없으면 삭제될 수도 있습니다.
'용어 정리' 카테고리의 다른 글
[용어 정리] Edge Computing (0) | 2020.08.10 |
---|---|
[용어 정리] IaaS, PaaS, SaaS (2) | 2020.08.05 |
[용어 정리] IP address, IP Class, Subnet Mask (0) | 2020.07.20 |
[용어 정리] Public IP, Private IP (0) | 2020.07.19 |
[용어 정리] 인플레이스 배포, 블루/그린 배포 (0) | 2020.07.10 |