성장, 그리고 노력

부족하더라도 어제보다 더 잘해지자. 노력은 절대 배신하지 않는다.

네트워크

[HTTP] 캐시2 - 토폴로지

제이콥(JACOB) 2020. 1. 4. 16:26
토폴로지(topology) - 컴퓨터 네트워크의 요소들(링크, 노드 등)을 물리적으로 연결해 놓은 것, 또는 그 연결 방식.
출처: 위키백과
  • 개인 전용 캐시(private cache) - 한 명에게만 할당된 캐시, 한 명의 사용자가 자주 찾는 페이지를 담는다.
  • 공용 캐시(public cache) - 사용자 집단에게 자주 쓰이는 페이지를 담는다.

출처: https://www.oreilly.com/library/view/http-the-definitive/1565925092/ch07s06.html


개인 전용 캐시

개인 전용 캐시는 많은 에너지나 저장 공간을 필요로 하지 않으므로, 작고 저렴할 수 있다. 웹 브라우저는 개인 전용 캐시를 내장하고 있다. 대부분의 브라우저는 자주 쓰이는 문서를 개인용 컴퓨터의 디스크와 메모리에 캐시해 놓고, 사용자가 캐시 사이즈와 설정을 수정할 수 있도록 허용한다. 캐시에 어떤 것들이 들어있는지 확인하기 위해 브라우저 안을 들여다보는 것도 가능하다.

 

공용 캐시(= 프락시 캐시)

 공용 캐시는 캐시 프락시 서버 혹은 프락시 캐시라고 불리는 틀별한 종류의 공유된 프락시 서버다. 프락시 캐시는 로컬 캐시에서 문서를 제공하거나, 혹은 사용자의 입장에서 서버에 접근한다. 자주 찾는 객체를 단 한 번만 가져와 모든 요청에 대해 공유된 사본을 제공함으로써 네트워크 트래픽을 줄일 수 있다.

출처: https://present5.com/caching-herng-yow-chen-1-outline-n-n/

프락시 캐시는 프락시를 위한 규칙을 따른다. 이 부분은 이전 글을 참고 하자.

 

[HTTP] Proxy (프락시)

Web Proxy Server Web proxy server(이하 '웹 프락시 서버')는 중개자이다. 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP 메시지를 정리하는 중개인 역할을 한다. 클라이언트 입장에서 트잭잭션을 수행한..

code-masterjung.tistory.com

프락시 캐시 계층

작은 캐시에서 캐시 부적중이 발생했을 때 더 큰 부모 캐시가 '걸러 남겨진' 트래픽을 처리하도록 하는 계층을 만드는 방식이 합리적인 경우가 많다. 아래 그림은 두 단계의 캐시 계층을 보여준다(대부분의 현대적인 브라우저에서도 캐시를 가지고 있으므로 엄밀히 말하면 세 단계의 캐시 계층을 가지고 있다). 이 아이디어는 클라이언트 주위에는 작고 저렴한 캐시를 사용하고, 계층 상단에는 많은 사용자들에 의해 공유되는 문서를 유지하기 위해 더 크고 강력한 캐시를 사용하자는 것이다. 

출처: https://present5.com/caching-herng-yow-chen-1-outline-n-n/

하지만 캐시 계층이 깊다면 부적중이 생길 때마다 요청은 캐시의 긴 연쇄를 따라가게 될 것이다. 따라서 프락시 연쇄가 길어질수록 각 중간 프락시는 현저한 성능 저하가 발생할 수 있다. 

 

캐시망

 몇몇 네트워크 아키텍처는 단순한 캐시 계층 대신 복잡한 캐시망을 만든다. 캐시망의 프락시 캐시는 복잡한 방법으로 서로 대화하여, 어떤 부모 캐시와 대화할 것인지, 아니면 요청이 캐시를 완전히 우회해서 원 서버로 바로 가도록 할 것인지에 대한 캐시 커뮤니케이션 결정을 동적으로 내린다. 

 

 이 부분에 대해서 깊은 공부는 일단 나중으로 미룬다. 먼저 기본적인 캐시 계층을 잘 처리하는 방법부터 알아보자.

반응형

'네트워크' 카테고리의 다른 글

[HTTP] 웹 로봇 1  (0) 2020.01.12
[HTTP] 캐시3 - 캐시 처리 단계  (2) 2020.01.10
[HTTP] 캐시1 - 기본 개념  (0) 2020.01.04
[HTTP] Proxy (프락시)  (0) 2020.01.01
[HTTP 아키텍처] 웹 서버  (0) 2019.12.22