프록시

J4mbo9·2022년 10월 12일
0

Proxy Server란?

Proxy Server 는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용프로그램을 가르킴.

즉, 클라이언트가 서버와 소통할 때, 서버에 바로 접속하지 않고 프록시 서버를통해 서버에 접근할 수 있도록 해주는 일종의 대리 서버 이다.

Proxy는 사전적 의미로 대리 란 뜻이다.

프록시 서버는 위치에 따라 두종류로 나뉨.

Foward Proxy

클라이언트에 가까이 위치한 프록시가 클라이언트 요청을 서버에 대신 전달해줌.

장점

  • 클라이언트는 서비스의 서버가 아닌 프록시 서버와 소통
    • 이 과정에서 여러 클라이언트가 동일한 요청을 보내는 경우, 첫 응답을 하며 결과 데이터를 캐시에 저장해놓고 이후 서버에 재요청 하지않아도 다른 클라이언트들에게 빠르게 전달 가능.
  • 보안
    • 클라이언트에서 프록시 서버를 거친 뒤 서버에 요청이 전달되기 때문에 서버에서 클라이언트 IP가 필요한 경우 클라이언트 IP 대신 프록시 서버IP가 전달되기 때문에 클라이언트를 서버에게서 숨길 수 있음.

Revers Proxy

Forward Proxy 와 반대로 서버와 가까이 위치한 서버에 가까이 위치한 프록시 서버로 서버를 대신해서 클라이언트에 응답을 제공.

장점

  • 분산 처리
    • Reverse Proxy 구조에서 프록시 서버로 요청이 들어오면 여러대의 서버로 나누어 전달 후 처리
  • 보안
    • Forward Proxy 와 반대로 클라이언트에게서 서버를 숨긺.
    • 클라이언트에서 보내는 요청을 받는 서버는 프록시 서버가 되기 때문에 서버IP 주소가 노출되지 않음.

로드 밸런서

로드밸런서는 서버에 가해지는 부하(=로드)를 분산(=밸런서)해주는 장치 또는 기술을 말함. 여러대의 서버를 두고 서비스를 제공하는 분산처리 시스템에서 필요한 기술

꼭 필요한 걸까?
서비스 제공 초기 단계라면 적은수의 클라이언트로 인해 서버 한대로 요청응답 가능.
하지만 클라이언트 수가 늘어난다면 기존 서버만으론 정상적인 서비스가 불가능.
이처럼 트래픽 증가에 대처할 수 있는 방법은 2가지가 있음.

  1. Scale -Up
  • 물리적으로 서버의 사양을 높이는 하드웨어적 방법
    • 서버의 수를 늘리지 않고 프로그램 구현에 있어 변화가 필요없음.
    • 하지만 서버 사양 높이는데 굉장히 높은 비용 들고 하드웨어 업그레드엔 한계 있음.
    • 사양 높인 만큼 클라이언트 요청이 늘어난다면 서버에 발생하는 부하는 여전히 해결X
  1. Scale - Down
  • 서버 갯수를 늘려 하나의 서버에 받을 부하를 분산시킴
    • 많은 요청이 오더라도 여러대의 서버가 나눠서 처리하여 서버 사양을 높이는 방법에 비해 저렴.

Scale - Down 방법으로 여러대의 서버를 나누어 분산처리 할 경우 , 클라이언트로부터 온 요청은 여러 서버중에 어떤 서버에 전달해야 할까?

요청을 여러 서버에 나눠 처리할 수 있게 교통정리를 해줄 역할이 필요하다. 이 역할을 하는게 로드 밸런서 이다.

profile
개발개발개발개발

0개의 댓글