CDN(Contents Delivery Network) Pattern

 

설명

CDN은 사용자에게 웹 콘텐츠를 효율적으로 제공할 수 있는 서버의 분산 네트워크이다.

최종 사용자와 가까운 POP 위치의 Edge 캐시 서버에 콘텐츠를 저장하여 느린 응답 속도, 다운로드 타임을 극복할 수 있다.

지리, 물리적으로 떨어져 있는 사용자에게 더 빠른 컨텐츠를 제공하기 위해 사용한다.

 

언제 필요한가?

업데이트, 패치, 서비스 오픈 등으로 인해 콘텐츠의 병목 현상이 예상될 때

트래픽 관리가 필요할 때

Client가 Origin Server로부터 거리가 멀리 떨어진 곳에 위치할 때

쇼핑몰과 같은 많은 이미지를 보여줘야 할 때

 

구성

 

구현

1. 최초 요청은 서버로부터 콘텐츠를 가져와 클라이언트에게 제공하면서 CDN 캐시에 저장한다.

2. 다음 동일한 요청에 대해서는 CDN에서 콘텐츠를 전송한다.

3. 자주 사용되는 콘텐츠에 대해서는 보관 기간을 늘려주며, 자주 호출되지 않는 콘텐츠의 경우는 일정 주기를 대상으로 삭제한다.

4. 콘텐츠가 CDN에 존재하지 않을 경우, origin 서버로 접근하여 콘텐츠를 전송한다.

 

장점

1. 웹사이트 로딩 속도를 개선할 수 있다.

2. 콘텐츠 제공의 안정성을 높일 수 있다.

3. 순간적으로 높은 트래픽이 발생하거나, 평시에도 에지 서버에서 바로 콘텐츠를 제공하므로 원본 서버로 전송되는 트래픽의 양이 감소된다.