Waylog Blog

CDN(Content Delivery Network)의 작동 원리: 인터넷의 고속도로

Cloud

서울에 있는 서버에 저 멀리 뉴욕에 사는 사용자가 접속하려면 태평양을 건너야 해서 느릴 수밖에 없습니다. CDN은 전 세계 곳곳에 "대리점 서버(Edge Server)"를 두고, 원본 서버의 콘텐츠를 복사(Caching)해 둡니다. 사용자는 가장 가까운 대리점에서 데이터를 받아 가므로 속도가 비약적으로 빨라집니다.

1. 작동 원리

  1. 사용자가 image.jpg를 요청합니다.
  2. DNS가 사용자의 위치(IP)를 파악하고, 가장 가까운 CDN 서버의 IP를 알려줍니다.
  3. CDN 서버에 해당 파일이 있으면(Cache Hit) 바로 줍니다.
  4. 없으면(Cache Miss) 원본 서버(Origin)에서 받아와서 저장한 뒤 사용자에게 줍니다.

2. 캐시 무효화 (Cache Invalidation)

가장 어려운 문제입니다. 원본 이미지는 수정됐는데, CDN이 옛날 이미지를 계속 보여주면 안 되니까요.

  • TTL (Time To Live): "1시간 뒤에 자동 폭파". 시간이 지나면 알아서 갱신됩니다.
  • Purge: 수동으로 캐시를 날려버립니다. (비용 발생 가능)
  • Versioning: image_v2.jpg처럼 파일명을 바꿔버립니다. 가장 확실합니다.

3. 남용 금지

HTML 파일처럼 자주 바뀌는 정적 리소스나, 개인화된 데이터(장바구니)는 CDN에 캐싱하면 안 됩니다. 옆집 사람이 내 장바구니를 보게 될 수 있습니다. 이미지, CSS, JS 파일이 캐싱 1순위입니다.