ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • cdn 이란? 로드밸런싱? DNS?
    etc 2019. 9. 12. 22:01
    728x90

    출처: https://brownbears.tistory.com/408

    cdn은 content delivery network를 일컫는 말입니다.

    전세계에 네트워크를 분산시켜 사용자가 html, css, javascript, video 등의 자산들을 빠른 속도로 다운로드 받을 수 있게 해주는 방식이라고 하네유.

    cdn은 ddos같은 서버 다운을 시킬 수도 있는 악의적인 공격을 방어하는데도 매우 효율적이라네요. 당연하게도..

     

    미리 정적인 자원들(html, css, javascript 코드)등을 캐싱하여 사용자의 위치와 가까운 곳에 복사본을 노드에 저장하고, 바로 자원들을 제공할 수 있게 해주는 아이디어라고 할 수 있죠.


    cdn을 가능하게 하는 기술을 GSLB(global server load balancing)라 일컫습니다.

    GSLB는 DNS를 발전시킨 형태입니다.

    그림으로 보면,

    GSLB의 health care

    dns에서 gslb로 요청을 하고, gslb가 health care를 하는 방식을 간단하게 표현해 봤습니다.

    dns에 주소를 요청하면, dns는 통상적으로 ip주소를 전달해줍니다.

    DNS는 같은 주소에 다양한 ip를 전달할 수 있는데요, 이 기능을 잘~ 사용한게 GSLB입니다!

     

    GSLB는

    1. 재해 복구 - 서버의 상태를 모니터링 하여 정상적으로 작동하는 서버를 전달해줍니다(health care

    2. load balancing - 서버의 로드를 모니터링 하여 적은 로딩 수의 서버를 전달해 줍니다.

    3. latency 기반 서비스 - 각 지역별로 latency를 캐싱하여 사용자의 지역에서 낮은 latency를 가진 서버를 로드해줍니다,

    입니다.


    TTL (Time To Live)

    DNS는 권한(authority)를 가진 녀석은 특정 레코드에 ttl을 설정할 수 있습니다.

    캐시 네임서버는 클라이언트로 요청이 들어오면 ttl시간동안 살아있는 레코드를 바로 보내줄 수 있습니다.

    ttl시간을 짧게 두면 상태가 빠르게 업데이트 되겠죠. 네임서버에 부하가 많이 가겠지만, gslb는 상태정보에 매우 민감하기 때문에 짧게 둡니다.

    댓글

Designed by Tistory.