Skip to content

Latest commit

 

History

History
51 lines (48 loc) · 4.67 KB

cdn.md

File metadata and controls

51 lines (48 loc) · 4.67 KB

CDN ( Content Delivery Network)

  • 전 세계에 분산된 서버 네트워크를 통해 웹 콘텐츠를 빠르게 제공하는 시스템
  • CDN의 기본 목적은 사용자에게 웹 콘텐츠를 가능한 가장 가까운 위치에서 제공함으로써 로딩 시간을 줄이고 사용자 경험을 개선하는것

작동 원리

1. 분산 저장

  • 글로벌 네트워크를 통해 웹 톤텐츠를 전 세계 여러 지역에 위치한 데이터 센터에 복제 및 저장하는 과정을 의미
    • 핵심 요소
    1. 콘텐츠 복제
      • CDN은 원본 서버에 호스팅된 웹 콘텐츠의 복사본을 생성함. 이 과정은 자동으로 이루어지며, HTML, CSS, 이미지, 비디오클립, JS 파일 등 웹사이트 구성 요소 전반에 걸쳐 적용됨
    2. 지리적 분산
      • 복제된 콘텐츠는 전 세계에 걸쳐 분산된 데이터 센터에 저장됨. 이 데이터 센터들은 전략적으로 사용자의 접근성과 네트워크 효율성을 최대화할 수 있는 지역에 위치함
      • 콘텐츠의 지리적 분산은 사용자가 요청하는 콘텐츠에 대해 더 낮은 지연 시간과 빠른 로딩 속도를 경험하게 함
    3. 콘텐츠 캐싱
      • CDN은 데이터 센터 내에 콘텐츠의 캐시(임시 저장) 버전을 유지함. 캐싱은 자주 요청되는 콘텐츠를 빠르게 제공하기 위해 사용되며, 콘텐츠 전달의 효율성을 대폭 향상시킴
      • 캐시된 콘텐츠는 정기적으로 업데이트되어 최신 상태 유지
    4. 콘텐츠 전송 최적화
      • 사용자가 웹 콘텐츠에 접근 요청을 하면, CDN은 사용자의 실제 위치를 고려하여 가장 가까운 데이터 센터에서 콘텐츠를 제공함
      • 이는 네트워크 홉 수를 줄이고, 데이터 전송 시간을 최소화하여 전반적인 콘텐츠 전송 속도를 향상시킴
    5. 로드 밸런싱
      • CDN은 로드 밸런싱을 통해 요청을 처리하는 데이터 센터 간의 트래픽을 균등하게 분배함
      • 이는 피크 타임에도 서비스의 안전성을 보장하고, 각 데이터 센터의 부하를 최적화하여 전체 네트워크의 효율성을 높임

2. 콘텐츠 전달 최적화

  • 사용자에게 웹 콘텐츠를 가능한 가장 빠르고 효율적으로 전달하기 위한 과정
    • 핵심 요소
    1. 사용자 위치 식별
      • 사용자가 웹 콘텐츠에 대한 요청을 하면, CDN은 먼저 사용자의 IP주소를 분석하여 그들의 지리적 위치를 파악함
      • 이 위치 정본느 사용자가 연결되어 있는 인터넷 서비스 제공업체(ISP)의 위치 또는 사용자의 실제 위치를 기반으로 함
    2. 최적의 서버 선택
      • 사용자의 위치가 식별되면, CDN은 사용자에게 가장 가까운 서버 또는 가장 낮은 네트워크 지연 시간을 제공할 수 있는 서버를 선택함
      • 이 선택 과정은 서버의 현재 부하, 연결의 품질, 경로의 지연 시간 등의 여러 요인을 고려하여 이루어짐
    3. 콘텐츠 전달
      • 선택된 서버에서 사용자에게 웹 콘텐츠가 전송됨
      • CDN은 콘텐츠를 캐싱하여 빠르게 제공하고, 가능한 한 최적의 경로를 통해 데이터를 전송함
    4. 지속적인 최적화
      • CDN은 실시간으로 네트워크의 상태를 모니터링하고, 사용자 요청에 대응하여 서버 선택과 콘텐츠 전달 경로를 지속적으로 최적화함
      • 이를 통해, 트래픽 변동, 서버 장애, 네트워크 혼잡 등 다양한 상황에서도 사용자에게 최상의 성능을 제공할 수 있음

3. 로드 밸런싱

  • 전 세계에 분산된 서버 네트워크의 효율적이 사용을 가능하게 하며, 사용자 요청을 처리하는 서버 간에 트래픽을 적절히 분산시킴
    • 핵심 요소
    1. 동적 리소스 할당
      • 로드 밸런서는 실시간으로 네트워크 트래픽과 각 서버의 현재 부하를 모니터링함
      • 이 정보를 기반으로 로드 밸런서는 들어오는 요청을 가장 적절한 서버에 동적으로 할당하여 처리함
    2. 서버 선택 알고리즘
      • 라운드 로빈, 가중 라운드 로빈, 최소 연결, 가중 최소 연결 등등
    3. 건강 상태 점검
      • 로드 밸런싱 시스템은 정기적으로 서버의 건강 상태를 점검하여, 문제가 발생한 서버나 과부화된 서버를 트래피겡서 제외시키고, 자동으로 다른 서버에 요청을 재분배함
    4. 글로벌 로드 밸런싱
      • 사용자의 위치 기반으로 가장 가까운 데이터 센터나 서버로 요청을 안내하여, 네트워크 지연 시간을 줄이고 속도를 최적화함