Proxy server #1 / TIL

프록시 서버란 ?

Featured image

Proxy Server


proxy


포워드 프록시 (forward proxy)

리버스 프록시 (reverse proxy)


로드밸런서 (Load Balancer)


서비스를 제공할 수 있는 용량이 단일 서버로 충분하더라도, 서버를 한 대로 구성하면 장애가 발생했을 때 정상적인 서비스를 제공할 수 없다.

서비스 가용성을 높이기 위해 하나의 서비스는 보통 두 대 이상의 서버로 구성하는 데 각 서버 IP주소가 다르므로 사용자가 서비스를 호출할 때 어떤 IP로 서비스를 요청할 지 결정해야 한다.

여러 대의 서버를 사용하면 특정 서버에 장애가 발생했을 때 전체 사용자에게 영향을 미치진 않지만 부분적으로 서비스 장애가 발생하는데, 로드 밸런서는 이러한 문제를 해결하기 위한 방안이다.



L4 로드 밸런서

L7 로드 밸런서 (ADC, Application Delivery Controller)


캐시 (Cache)


캐시가 없을 경우 사용자는 데이터가 변경되지 않아도 계속 네트워크를 통해 데이터를 다운로드 받아야 한다. 따라서 용량이 클 수록 비용이 커지고 로딩 속도가 느려진다. 


프록시 캐시

평소 우리는 해외 사이트에서 불편함 없이 빠르게 정보를 받아볼 수 있다. 이러한 것들이 클라이언트와 원 서버 사이에 프록시 캐시가 도입되어 있기 때문이다.

우리가 어떠한 자료를 찾을 때 여러 사람이 찾은 자료일수록 이미 캐시에 등록되어 있기 때문에 빠른 속도로 자료를 가져올 수 있다. 이는 캐시가 같은 국내에 있기 때문에 원서버에 접근하는 것보다 훨씬 빠르게 자료를 가져올 수 있는 것이다.


캐시 지시어 (directives)

캐시에 관련된 헤더 & 조건부 요청 헤더


Cache-Control : 캐시 무효화

웹 브라우저가 민감한 정보까지 임의로 캐싱할 때 무효화하는 헤더



Cache-Control : no-cache, no-store, must-revalidate
Pragma: no-cache

확실한 캐시 무효화 응답을 하고 싶을 때 위 캐시 지시어를 모두 넣어야 한다.