공부/기타

아카마이(CDN)은 뭘까?🌎

JangGiraffe 2023. 9. 19. 20:18

아카마이(CDN)은 뭘까?🌎

CDN

  • Content Delivery Network : 콘텐츠 전송 네트워크.
  • 오리진서버와 엣지서버(=캐시서버)로 구성되며 엣지서버는 여러 지역에 퍼져있음.
  • 오리진 서버에 있는 정적 컨텐츠를 엣지서버에서 복사해감.
  • 유저와 거리가 가까운 엣지서버를 통해 정적 컨텐츠를 받음.

유저와 웹 컨텐츠와 연결

  • 유저가 다양한 컨텐츠에 연결할 때 인터넷은 효율적인 경로를 제공하지 않음
  • 그래서 CDN을 사용해서 인터넷 상의 트래픽을 가속화 함.

아카마이 작동 방식

  1. 유저가 로컬 DNS 서버에 호스트 이름을 IP 주소로 변환해달라고 요청
  2. 내부 DNS서버는 번역을 위해 중앙에 위치한 로컬 DNS(포워더) 서버로 요청 전달
  3. 외부 DNS는 아카마이 네임 서버에 호스트 이름을 해석하도록 요청하며, 이 네임 서버는 외부 DNS 서버에 가장 가까운 아카마이 엣지 서버를 식별함
  4. 유저의 컴퓨터는 아카마이 엣지 서버에 연락하고 컨텐트츨 요청함 (여기 보면 static Content는 아카마이 엣지서버가 가지고 있네. 캐시처럼 사용하는것같아보임)
  5. 아카마이는 고속의 사설 네트워크를 사용해 호스트 근처의 다른 엣지 서버에 연결함
  6. 엣지 호스트는 호스트 서버에서 컨텐츠를 요청함.

엣지서버(캐시서버)의 캐시 컨트롤

  • 유저는 엣지서버를 통해 홈페이지의 컨텐츠를 제공받기 때문에 실제 웹사이트와 엣지서버가 가지고 있는 정적 컨텐츠간의 정합성을 맞춰줘야 한다. 그렇기 때문에 캐시서버는 오리진 서버를 통해 캐싱된 콘텐츠에 대한 유효성을 주기적으로 확인하고 컨텐츠가 업데이트 됐으면 다시 받아서 캐싱해야 함.

 

  1. 사용자가 컨텐츠 요청 시 캐시서버에 해당 컨텐츠가 없다면 오리진 서버로 요청.
  2. 오리진 서버에서 HTTP 200 OK와 함께 메타태그 정보를 전달함. (최종 업데이트시간,캐시 컨트롤(유효시간)) 이를 캐시서버는 저장하고 요청자에게 컨텐츠 전달
  3. 다른사용자가 컨텐츠를 요청했을 때 캐시서버에서 해당 컨텐츠의 메타정보내 유효시간이 80%이상 지났다면 캐시서버에서 오리진서버로 유효성 검증 요청 및 사용자에게 전달
    • 컨텐츠가 업데이트됐다면 컨텐츠를 새로 받고 메타정보를 갱신함
    • 컨텐츠가 그대로라면 HTTP 304 Not Modified(변한거 없으니 니가 가지고 있는 컨텐츠 써라) 메시지를 전달하며, 캐시서버가 해당 메타정보를 다시 처음으로 갱신함

더 자세히 알고싶다면 여기를 참고 : https://www.netmanias.com/ko/post/blog/5654/cdn-http/http-cache-control-expiration-and-validation

CDN의 장점 ?

  1. 호스트 정적컨텐츠(static content)를 아카마이에서 제공해줌
  • 서버 최적화와 부하분산 : 무거운 정적 컨텐츠를 서버에서 제공하지 않고 아카마이가 제공해주니 부하분산이 됨.
  1. 사용자에게 보다 빠른 서비스 제공 가능(북미서버에서 게임하는거보다 한국서버에서 게임하면 핑이 덜튀기는거랑 같은 원리로 생각하면 됨)

출처

다른 재미있는 글들도 한번 보고 가세요

 

 

😁데브옵스, 베스천서버, 쿠버네티스 - (1/3)

😁데브옵스, 베스천서버, 쿠버네티스 - 1 😭틀린부분은 지적 부탁드려요 - ▶데브옵스, 베스천서버, 쿠버네티스 (1/2) : 데브옵스,쿠버네티스에 대해서 - 데브옵스, 베스천서버, 쿠버네티스 (2/3) :

janggiraffe.tistory.com

 

 

😁데브옵스, 베스천서버, 쿠버네티스 - (2/3)

😁데브옵스, 베스천서버, 쿠버네티스 - 2 😭틀린부분은 지적 부탁드려요 content_copy - 데브옵스, 베스천서버, 쿠버네티스 (1/2) : 데브옵스,쿠버네티스에 대해서 - ▶데브옵스, 베스천서버, 쿠버네

janggiraffe.tistory.com

 

반응형