CDN이란 무엇인가요?
Content Delivery Network(CDN)은 전세계에 분포되어 있는 고성능 가속 노드로 구성된 새로운 네트워크 아키텍처입니다. 고성능 서비스 노드는 정해진 캐시 정책에 따라 서비스 콘텐츠를 저장하며, 사용자가 서비스 콘텐츠를 요청할 경우 사용자와 가장 가까운 서비스 노드에서 스케쥴링하여 빠르게 응답하므로, 사용자의 액세스 딜레이를 줄이고 가용성을 확장할 수 있습니다.
CDN은 현재 인터넷 서비스에서 다음과 같은 네트워크 문제를 효과적으로 해결합니다.
1. 사용자와 서비스 서버 리전 사이의 물리적 거리가 멀어, 여러 번의 네트워크 전달이 필요하여 전송이 느리고 불안정한 경우.
2. 사용자가 이용하는 통신사와 서비스 서버 통신사가 달라, 요청 시 통신사 간의 상호 전달이 필요한 경우.
3. 비즈니스 서버의 네트워크 대역폭과 처리 능력이 제한적이어서 많은 사용자의 요청을 받을 때, 응답 속도와 가용성이 현저히 낮아지는 경우.
CDN 액세스 작업은 매우 간단하여, 서비스 구조를 변경하거나 복잡한 작업 설정을 진행하지 않아도 글로벌 CDN 가속 서비스를 이용하실 수 있습니다. 시작하기를 통해 CDN 가속 서비스를 손쉽게 이용하실 수 있습니다. 가속 원리
서비스 원본 서버의 도메인을 www.test.com으로 가정하고, 해당 도메인이 CDN에 액세스하여 가속 서비스를 시작한 뒤 사용자가 HTTP 요청을 보낼 때의 실제 처리 프로세스는 아래 이미지와 같습니다.
상세 설명
1. 사용자가 www.test.com의 특정 이미지 리소스(예: 1.jpg)에 요청을 보내면, 우선 Local DNS에 리졸브 요청이 전송됩니다.
2. Local DNS는 www.test.com을 리졸브하는 과정에서 이미 설정된 CNAME www.test.com.cdn.dnsv1.com을 발견하면, Tencent DNS(GSLB)로 리졸브 요청을 전송합니다. GSLB는 Tencent Cloud에서 자체 개발한 스케쥴링 시스템으로, 해당 요청에 가장 적합한 노드 IP를 할당합니다.
3. Local DNS가 Tencent DNS에서 리턴한 리졸브 IP를 획득합니다.
4. 사용자가 리졸브 IP를 획득합니다.
5. 사용자가 획득한 IP에 리소스 1.jpg에 대한 액세스 요청을 전송합니다.
6. 해당 IP에 해당하는 노드 캐시에 1.jpg가 있으면, 데이터를 바로 사용자(10)에게 리턴하며 해당 요청을 종료합니다. 해당 노드 캐시에 1.jpg가 없으면, 노드에서 원본 서버로 1.jpg에 대한 요청(6, 7, 8)을 보내 리소스를 가져온 다음, 사용자 정의 설정의 캐시 정책(제품 설명서의 캐시 만료 설정 참조)에 따라 리소스를 노드(9)에 캐싱한 뒤 사용자(10)에게 리턴하며 요청을 종료합니다.