네트워크 캐싱은 미리 리소스를 캐싱 서버에 올려둠으로써 원본 데이터가 존재하는 서버까지 통신하는 네트워크 부하를 줄여준다. 캐싱 기능은 네트워크뿐만 아니라 애플리케이션 내에서도 사용되는 유용한 개념으로 응답 속도
, 사용자 경험 개선
, 네트워크 대역폭 절약
등의 이점을 가진다.
다음은 캐싱되어 있는 데이터
와 캐싱되어 있지 않은 데이터
를 각각 조회할 때 걸리는 조회 시간을 간단하게 비교하는 예제이다.
코드를 실행해보고 직접 체감해보자
(캐싱된 데이터는 1ms의 조회 시간을 가지고 캐싱되지 않은 데이터는 10ms의 조회 시간을 가진다 가정하자)
→ 나의 답변
AWS를 이용해 애플리케이션을 배포하려한다. 배포하는 애플리케이션은 EC2
로 배포, 정적 컨텐츠의 서빙이 위주이기 때문에 S3/CloudFront
를 이용해 CDN을 구축했고, DNS를 사용하기 위해 Route53
을 이용했다. 브라우저에서 해당 웹 사이트에 접속했을 때, 어떤 과정이 일어날까? DNS와 CDN 동작을 위주로 서술하라. (페이지 요청시 필요한 이미지 등의 정적 리소스는 모두 S3를 통해 받고, 별도의 캐싱 서버는 존재하지 않는다)