CDN이란?
CDN(Content Delivery Network)(콘텐츠 전송 네트워크)는 사용자와 가까운 곳에서 콘텐츠를 전송함으로써 더 빠르고 안정적인 서비스를 제공하는 것이다.
지리적으로 분산된 여러 개의 서버로, 콘텐츠를 사용자와 가까운 서버에서 전송함으로써 전송 속도를 높인다.
전 세계 데이터센터는 파일 복사본을 임시로 저장하는 캐싱을 사용하는데 따라서 사용자는 가까운 서버에 접속할 수 있다.
웹 페이지, 이미지, 비디오 등의 콘텐츠를 가까운 물리적 위치의 서버에 캐싱한다.
CDN의 원리를 보면 알 수 있듯이 프로식 서버의 한 종류인 Reverse Proxy로 동작하는 캐시 서버이다.
CDN을 사용하는 이유?
- 물리적 거리 : 사용자와 가까운 서버에서 통신을 하므로 콘텐츠 제공 속도가 빠르다.
- 부하분산 : 일반 서버만 사용할 경우 트래픽이 갑자기 급증하거나 컨텐츠양이 증가하는 경우 부하가 집중되어 장애가 발생할 가능성이 있는데 CDN 도입을 통해 일반 서버의 부하를 줄일 수 있다.
CDN의 장점
- 비용 절감 : 본 서버로 직접 요청되지 않기 때문에 대역폭 비용이 크게 절감된다. 즉, 호스팅 비용이 절감된다.
- 가용성과 안정성 증가 : 본 서버의 부담이 덜어져 과부하로 인한 오류가 줄어들어 안정적인 서비스 제공 가능.
- 보안 : 일반 서버만 이용할때 보다 DDos로 인한 서버 다운에 더 강하며 CDN 서버에서 정상적인 요청과 비정상적인 요청을 구분해내어 요청수를 제한하거나 집중된 요청을 분산가능하다.
CDN 캐싱 방식
- Static Caching(정적 캐싱) : 본 서버에 있는 콘텐츠를 CDN서버에 미리 캐싱 해두어 사용자가 빠르게 접근 가능한 방법.
- Dynamic Caching(동적 캐싱) : 미리 CDN 서버에 캐싱하지 않고 사용자가 콘텐츠 요구 시 해당 콘텐츠가 CDN 서버에 없는 경우 본 서버에서 다운로드 받아 전달하고 있는 경우 CDN 서버에서 컨텐츠 전달을 한다. 일정 시간 이후 CDN 서버에서 캐싱 콘텐츠가 삭제될 수 있다. (이 점이 차이점)
'개념' 카테고리의 다른 글
RESTFUL(restful)(RESTful) API가 무엇일까? (0) | 2022.06.17 |
---|---|
Oracle(오라클)과 MySQL 문법 비교 (0) | 2022.06.17 |
AndroidManifest.xml(안드로이드매니페스트)이란? (0) | 2022.06.17 |
Proguard(프로가드)란? (0) | 2022.06.17 |
Gradle(그래들)이란 무엇일까? (0) | 2022.06.17 |