CDN ?

Pink Chun·2022년 11월 12일
2
post-thumbnail

1. CDN ?

최근 네트워크가 많은 발전을 이룬 덕분에 언제 어디서든 정보를 교환할 수 있게 되었다. 우리는 네트워크 속에서 살고 있다고 해도 과언이 아니다. 해외에서 만들어진 앱도 아무 문제 없이 사용이 가능하다. 만약 교환되는 정보가 대용량이라면? 데이터를 언제 어디서든 지연 없이 처리하기 위해 등장한 것이 CDN서비스이다.

2. CDN 알아보기

1) 개념
CDN(Contents Delivery Network)은 콘텐츠 전송 네트워크를 뜻한다. 즉, 콘텐츠를 사용자에게 빠르고 안전하게 전달하는 기술이다. '서버 분산 네트워크' 라고도 부르는 CDN은 본 서버의 기능과 데이터를 분산시켜서 지리적 제약 없이 사용자에게 콘텐츠를 제공한다.

2) 특징
우리는 CDN을 통해 서버를 분산 시킨다는 것을 알게 되었다. 즉, 본 서버가 클라이언트의 요청을 직접 받지 않는 다는 것이다. 이러한 특징으로 CDN은 많은 이점을 가졌다.

 a) 대역폭 비용이 크게 절감된다. 서버에서 전송하는 데이터가 많아지면 대역폭은 넓어져야 한다. 하지만 CDN 기술은 본 서버가 클라이언트의 요청을 받지 않기 때문에 대역폭을 넓게 만들 필요가 없어 대역폭 비용이 절감된다.

 b) 웹 사이트 보안이 강화된다. 분산 서비스 거부(DDoS) 공격은 대량의 가짜 트래픽을 웹 사이트로 전송하여 애플리케이션이 작동 중지되도록 만들려고 시도한다. CDN은 여러 중간 서버 간에 로드를 분산하여 오리진 서버에 미치는 영향을 줄임으로써 이러한 트래픽 급증을 처리할 수 있다.

  [블로그] DDoS 알아보기

 c) 페이지 로드 시간이 단축된다. 페이지 로드 시간이 너무 느리면 웹 사이트 트래픽이 감소할 수 있다. CDN은 반송률을 줄이고 사용자가 사이트에서 보내는 시간을 늘릴 수 있다.

 d) 콘텐츠 가용성이 향상된다. 한 번에 너무 많은 방문자가 방문하거나 네트워크 하드웨어 오류가 발생하면 웹 사이트가 중단될 수 있다. CDN 서비스는 더 많은 웹 트래픽을 처리하고 웹 서버의 로드를 줄일 수 있다. 또한 하나 이상의 CDN 서버가 오프라인으로 전환되면 다른 운영 서버가 해당 서버를 대체하여 서비스가 중단되지 않도록 할 수 있다.

3) 원리
CND은 사용자에게 제공할 콘텐츠와 데이터만 따로 각 지역 서버에 저장해 두는 방식이다. 클라이언트가 요청하면 그 클라이언트와 제일 근접한 CDN 서버에서 콘텐츠와 데이터를 제공한다.

지역별로 존재하는 CDN 서버를 엣지(Edge)라고 하며, 본 서버에서 캐싱(Caching)을 통해서 엣지에 저장한다.

 3-1) 캐싱

 a) 정적캐싱

필요한 데이터를 미리 엣지에 저장해 두는 방식이다. 주로 변하지 않을 내용이나 큰 용량의 데이터들을 제공할 때 사용되는 방식이다.

 b) 동적캐싱

사용자가 요청했을 때 콘텐츠가 엣지에 있는지 확인한 후 제공하는 방식이다. 데이터가 있으면 클라이언트에게 바로 전송해 주고 저장된 데이터가 없으면 본 서버에 데이터를 요청한다. 날씨 정보, API 요청 결과와 같이 빈번하게 업데이트 되는 데이터를 다룰 때 사용한다.

3. CDN 사용 이유

최근에는 웹 또는 앱에서 많은 기능을 제공하고 있으며 앱의 동시간 서비스 이용자수가 증가하고 있다. 이런 상황에서 원활하고 안정적인 서비스를 제공하기 위해 CDN을 활용한다. CDN을 통해 국내뿐만 아니라 해외까지 범위를 확장하여 서비스를 제공하고, 기존 인터넷 망이 갖는 한계점을 보완하고 서버의 부하 분산과 무정지 서비스, 고품질 서비스를 제공한다.


[참고자료] https://aws.amazon.com/ko/what-is/cdn/
[참고도서] 개발자가 되기 위해 꼭 알아야 하는 IT용어

profile
최룰루의 개발일지(코린이)

0개의 댓글