image.png

좌측의 사진은 CDN에 대해 정말 잘 설명되어 있는 사진인 것 같다.

EL 과 REC두가지에 대한 특징을 보고자 한다.

EL은 하나의 캐시 서버 혹은 지점이라고 생각을 하면 된다.

만약 사용자가 원하는 데이터가 EL에 캐싱이 되어 있으면, origin 까지 갈 필요도 없이 바르게 해당 데이터를 가져올 수 있다.

그 다음에 볼 REC는 EL과 비슷한 개념이라고 생각을 하면 된다.

다만 EL에 들어갈 데이터 보다는 인기가 있지는 않지만, 더 오래 남고 더 용량이 큰 캐시 서버라고 생각을 하면 된다.


CDN 동작 순서

  1. 사용자가 어플리케이션에 요청을 한다.
  2. DNS는 사용자에게 적합한 Edge Location으로 라우팅 한다.
  3. Edge Location에서 캐시를 확인하고 있으면 이것을 사용자에게 반환한다.
  4. 없으면 가장 가까운 REC로 캐시가 있는지 요청한다.
  5. 없으면 CloudFront는 오리진으로 요청을 전달한다.
  6. 오리진은 '오리진 > REC > Edge Location > CloudFront가 사용자에게 전달' 수순을 밟는다. (캐시도 추가된다)
  7. REC에 캐시가 있다면 REC는 콘텐츠를 요청한 Edge Location으로 반환한다.
  8. REC로부터 콘텐츠의 첫 번째 바이트가 도착하는 즉시 Edge Location은 이를 사용자에게 반환한다.
  9. Edge Location은 나중을 위해 이 콘텐츠 캐시를 저장한다.

CDN의 동적 정적 처리

image.png

정적 데이터 -S3

동적 데이터 -EC2