Content delivery network

임유빈·2022년 9월 6일

Content delivery network

데이터 사용량이 많은 애플리케이션의 웹 페이지 로드 속도를 높이는 상호 연결된 서버 네트워크

사용자가 원격지에 있는 서버 (Origin Server)로 부터
Content(ex. Web Object, Video, Music, Image, Document 등)를 다운로드 받을때 가까이 있는 서버에서 받는 것보다 시간이 오래 걸린다. 그러므로 사용자와 가까운 곳에 위치한 Cache Server에 해당 Content를 저장(캐싱)하고 Content 요청시에 Cache Sercer가 응답을 주는 기술.

  1. 최초 요청은 서버로부터 컨텐츠를 가져와 고객에게 전송하며 동시에 CDN 캐싱장비에 저장한다.
  2. 두번째 이후 모든 요청은 CDN 업체에서 지정하는 해당 컨텐츠 만료 시점까지 CDN 캐싱장비에 저장된 컨텐츠를 전송
  3. 자주 사용하는 페이지에 한해서 CDN 장비에서 캐싱되며, 해당 컨텐츠 호출이 없을 경우 주기적으로 삭제
  4. 서버가 파일을 찾는데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾아 엔드유저에게 응답을 전송한다.
  5. 콘텐츠를 사요할 수 없거나 콘텐츠가 오래된 경우, CDN은 서버에 대한 요청을 프록시로 작동하여 향후 요청에 대해 응답할 수 있도록 새로운 콘텐츠를 저장

오리진서버 : 컨텐츠데이터 저장(이 서버가 예를 들어 서울에 있다)면 영국에서 케이팝을 듣는다면 한국에 있는 서버를 조회할 필요가 있음. 보통 5초~10초 정도의 딜레이가 있다. 그러면 이 컨텐츠를 제공하는 서비스에선 고민한다 영국에서 예로 100만의 유저가 접속중인걸 로그로 확인했다. 서비스를 구축해야된다 > 그러면 오리진서버를 그대로 복붙하여 그대로 사용하면 비용이 많이 들어 문제가 생긴다, > 리소스가 많이 먹는 콘텐츠는 영국서버에 놓는게 좋겠다라고 생각함 (그때 캐시서버를 만듬 < 웹임 (정적데이터) 디비보다 중요도 낮고 단순히 이미지 업로드다운로드만 복잡한 것 X) > 그때 또 이것을 자동화하면 좋지 않을까 라고 생각하게 된 것이 CDN이다.
싱가폴같은 곳에서도 요청이 들어오면 데이터를 가져다가 CDN을 만들어줌

CDN은 간단히 말해 원거리 유저의 정적인 데이터를 관리하기 쉽도록 캐싱서버를 두어 사용한다라고 알면 된다. (면접때)

0개의 댓글