ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CDN에 관하여
    Programming/etc. 2022. 3. 18. 23:04

    기업 면접을 진행하던 도중 CDN의 동작 원리에 대한 질문을 받게되었는데, 막상 동작 원리는 생각해 본 적이 없었다는 것을 깨닫게 되었고, 공부 한 뒤 기록을 남긴다.

     

    우선 CDN은  Content Delivery Network의 약자이며, 사용자에게 콘텐츠를 전송하는 기술이다.

    정통(精通)적인 의미에서의 원리는 전세계에 설치된 서버를 이용해서 웹 페이지, 비디오, 이미지 등의 콘텐츠를 프록시 서버에 캐싱해둔뒤 이러한 유저가 요청하면 가장 가까운 곳에 있는 서버에서 캐싱되어 있던 데이터를 전송하는 것이라고 할 수 있다.

     

    이러한 CDN의 장점으로는 원리만 보아도 파악할 수 있듯이 1.요청에 대한 빠른 응답(성능) 2.데이터 제공의 안정성(가용성) 3.트래픽의 감소로 서버 비용 절감 4.악의적인 공격 방어(보안,고급 CDN서비스) 등을 들 수 있다. 

     

    이러한 CDN의 중요 기술로는 로드 밸런스를 들 수 있는데, 이는 GSLB(Global Server Load Balancing)라고하며 IP주소와 Port를 기반으로 트래픽을 분산 시키는 일반적인 로드밸런싱과는 다소 차이가 있으며, 요청을 받았을 때 최적의(트래픽,물리적 거리 등) 네트워크 환경을 찾아 연결하는 기술이다.

     

    이러한 CDN 서버의 캐싱 방식에는 두가지가 존재하는데 첫번째는 동적(Dynamic) 캐싱이며 오리진 서버에 있는 콘텐츠를 CDN서버에서 미리 캐싱해두지 않고 누군가 요청시 만약 서버에 존재하지 않는다면 로드를 해오는 것이고 이렇게 저장된 캐싱 데이터도 일정 시간 이후 삭제 되게 할 수도 있다. 두번째로는 정적(Static) 캐싱인데, 이는 동적 캐싱과 반대라고 생각할 수 있으며 오리진 서버의 콘텐츠를 미리 CDN서버에 캐싱해 두는 것 이다. 그렇기 때문에 데이터는 무조건 CDN서버에 존재하게 되며 자원을 많이 소비하는 대신 최초 유저의 요청시 빠른 응답이 가능하다.

     

    이상 간단하게 알아본 CDN에 관한 정보이다.

    댓글

Designed by Kort.