캐시 (Cache)

Yejung·2022년 10월 13일
0
post-thumbnail

난 cash가 더 좋은걸...

캐시

: 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소

  1. 캐시 접근 시간에 비해 원래 데이터에 접근하는 시간이 오래 걸리는 경우
  2. 값을 다시 계산하는 시간을 절약하고 싶은 경우

에 사용한다.

네트워크에서의 캐시

네트워크 사이에 주고 받는 데이터를 캐시해놓는 것은 매우 흔한 일이라고 한다. (ex. 웹 브라우저는 최근 방문한 사이트를 캐시에 저장, 많은 인터넷 제공업체들과 대규모 네트워크의 운영자들은 인기 있는 웹페이지의 캐시를 프록시 서버에 저장해 네트워크 대역폭을 아낌)

네트워크에서의 캐시는 로컬에 파일을 미리 받아놓고 그 내용을 보거나, 웹 서버에서도 매번 로딩을 해야하는 파일들을 미리 로딩해주고, 응답해 주기도 한다. DB를 매번 확인해야 하는 것도 캐시 서버를 이용하면 빠른 응답을 해줄 수 있다.

CDN (Content Delivery Network)

: 캐시의 원리를 이용한 캐시 서버를 활용한 서비스로, 데이터 사용량이 많은 애플리케이션의 웹 페이지 로드 속도를 높이는 상호 연결된 서버 네트워크이다.

사용자가 요청한 서버에서 멀리 떨어져 있는 경우 대용량 파일을 로드하는데 시간이 오래 걸린다. CDN은 클라이언트와 웹 사이트 서버 간에 중간 서버를 두어 대기 시간을 줄이거나 통신 지연을 줄인다.

CDN의 장점

  • 페이지 로드 시간 단축
  • 대역폭 비용 절감
  • 콘텐츠 가용성 제고
  • 웹 사이트 보안 강화 (DDos 공격)

CDN 작동 원리

  • 캐싱
    • CDN 기술에서 이 용어는 네트워크의 여러 서버에 정적 웹 사이트 콘텐츠를 저장하는 프로세스를 의미
    • 작동 과정
     1. 지리적으로 멀리 떨어진 웹 사이트 방문자는 사이트에서 정적 웹 콘텐츠를 처음 요청
      2. 요청이 웹 애플리케이션 서버 또는 오리진 서버에 도달, 서버는 원격 방문자에게 응답을 보냄 + 해당 방문자와 지리적으로 가장 가까운 CDN POP에 응답 복사본을 보냄 
      3. CDN POP 서버는 복사본을 캐싱된 파일로 저장
      4. 다음에 해당 방문자 또는 해당 위치에 있는 다른 방문자가 동일한 요청을 하면, 오리진 서버가 아닌 캐싱 서버가 응답을 보냄
  • 동적 가속
    • 웹 애플리케이션과 클라이언트 사이의 중개 CDN 서버로 인해 발생하는 동적 웹 콘텐츠 요청에 대한 서버 응답 시간을 단축하는 것
    • 사용자 요청이 있을 때마다 콘텐츠가 변경될 수 있기 때문에 동적 웹 콘텐츠에서는 캐싱이 제대로 작동하지 X
    • CDN 서버는 모든 동적 요청에 대해 오리진 서버와 다시 연결해야 하지만 자신과 오리진 서버 간의 연결을 최적화하여 프로세스를 가속화
  • 엣지 로직 계산
    • 클라이언트와 서버 간의 통신을 단순화하는 논리적 계산을 수행하도록 CDN 에지 서버를 프로그래밍할 수 있음

참고자료

https://ko.wikipedia.org/wiki/%EC%BA%90%EC%8B%9C
https://wikidocs.net/65523
https://aws.amazon.com/ko/what-is/cdn/

profile
이것저것... 차곡차곡...

0개의 댓글