ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CDN Server
    Thinking 2018. 4. 1. 04:49





    - CDN 



    - Content delivery netwok or Content distribution network

    사용자가 인터넷상에서 가장 가까운 곳의 서버로 컨텐츠를 전송받아 트래픽이 특정 서버에 집중되지 않고 각 서버로 분산되로록 하는 기술




    위 그림을 보면 CDN 여부에 따른 차이를 보여주고 있다.

    왼쪽 그림은 CONTENT가 다이렉트로 사용자들에게 향하고 있다.

    오른쪽 그림을 CONTENT가 CDN을 향하고 CDN이 사용자들에게 향하고 있다.

    그림만 보면 CDN이 있고 없고 차이밖에 모르겟다. 어떤 의미를 가질까?


    왼쪽 그림은 수많은 사용자가 웹 페이지에 접속했을 때 하나의 서버에 요청이 몰리게 된다.

    또한 서버의 위치와 거리에 따라 네트워크 지연속도는 비례하게 된다.

    오른쪽 그림은 CDN을 통해 각 사용자들에게 있어 가장 가까운 서버를 통해 CONTENT를 전송받을 수 있게 된다.


    아래의 그림은 전체적인 구조이다.



    쉽게 말하면 멀리 잇는 Origin Server에 요청하지 않아도 되고 , 가장 가까운 CDN Server 에서 요청의 결과를 받으면 되는 것이다.

    전 세계를 기준으로 보면 이해가 될 것임으로 아래 그림을 보자.




    주황색 원통모양으로 보이는 것이 CDN Node라고 불리는 캐시 서버이다.

    CDN Node는 컨텐츠들을 많은 위치에서 빠르게 전송 할 수 있도록 분산되어 있다.


    이미지만을 위한 서버를 구축하여 이미지를 가져오는 서버를 Image Server 라고 한다. ( 이미지는 웹 페이지 성능을 크게 좌우함으로 성능을 위해 많이 사용되는 방식이다) 

    Image Server 도 CDN 방식을 많이 활용하고 있다.


    보통 CDN 방식을 많이 봐았던 jquery 로드 하는 방식을 살펴 보자.


    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>


    자신의 서버에 올리지 않고 , 마치 절대경로와 같이 URL을 이용하여 jquery를 로드시켜 사용하는 방식이다.


    <script src="js/vendor/jquery-1.8.2.min.js"></script>


    자신의 서버에 올려 사용하는 방식은 위와 같다. 


    어떤 차이가 있을까?


    CDN방식을 사용하면 위에서 말했듯이 컨텐츠의 전송시간이 상대적으로 빨라진다.

    또한 모든 접속자가 한 서버에 접속하는 것이 아니어, 트래픽이 분산되어 안정적인 서비스가 가능하다.


    하지만 무조건 CDN 방식을 사용하라고 권할수는 없다.

    CDN Server는 확실히 성능을 향상시킬 수 있지만 그건 CDN Server의 성능이 바춰줘야 한다.

    로드하려는 파일이 있는 서버가 다운이 되버리면 파일을 가져 올수 없어서 자신의 페이지,레이아웃이 엉망이 되거나 , Javascript 로 작성된 구문이 작동되지 않을 수 있다.


    또한 SPOF(single point of failure)이 초래될 수 있다.

    단일 장애점 SPOF는 한군데가 중단되면 전체 시스템이 중단되버리는 현상이다.

    그렇기에 신뢰성이 높아야 하는 에플리케이션이라면 특히 신경써야하는 부분이다. 


    http://mygumi.tistory.com/67



    'Thinking' 카테고리의 다른 글

    Slack  (0) 2018.04.07
    Git 과 GitHub  (1) 2018.04.06
    URI & URL  (1) 2018.04.02
    Framework & Library  (0) 2018.03.25
    Front end & Back end  (0) 2018.03.25
Designed by Tistory.