1 분 소요

1. Proxy란?

  • 대리. 남을 대신하여 일을 처리하는 것.
  • Spring에도, 디자인패턴에도, Web에도 사용되는 개념. 현재 포스트는 웹에서 사용되는 프록시에 대한 것.

2. Proxy 서버란?

  • 대신 처리해주는 서버.
  • 클라이언트와 서버간의 중간에 위치하여 통신과정에서 어떠한 작업들을 대신 처리해주는 역할을 할 수 있음.
    • 캐시 / 보안 / 트래픽분산(로드밸런싱)이 대표적인 작업
    • 필터와 접근제어 등의 작업도 가능

3. Proxy 서버의 종류

1) Forward Proxy

  • 일반적인 Proxy 서버를 지칭함.

  • Client - Proxy Server - Internet - Back Server 순서.

    1. 캐싱용도

    Client - Proxy Server - Internet - Back Server

    • 첫 요청은 일반적으로 진행(Back Server에 다녀옴)

    • 클라이언트단에서 한번 요청한 값을 Proxy Server가 가지고 있음

    • 같은 요청이 오면 다시 요청을 보내지 않고 본인이 가지고 있는 캐싱된 데이터를 전달함

    2. 보안용도 (클라이언트 정보의 익명처리)

    Client - Proxy Server - Internet - Back Server

    • 중간에 공유하는 프록시 서버가 있기 때문에 서버가 받는 요청의 IP가 Proxy Server의 IP가 되게 할 수 있음.

2) Reverse Proxy

  • Client- Internet - Proxy Server - Back Server 순서.

    1. 캐싱용도

    • Forward Proxy와 거의 동일.

    2. 보안용도 (서버 정보의 익명처리)

    Client- Internet - Proxy Server - Back Server

    • 클라이언트가 받는 응답의 IP가 Proxy Server의 IP가 되게 할 수 있음.

4. Load Balancing

  • 부하 분산.
  • 우리에게는 서버의 부하를 분산시켜 주는 것이 목표!

1) 서버의 부하를 줄여주는 방법?

  • Java 코드 최적화 -> 백엔드 서버의 작업효율 향상

  • Scale Up -> 서버 성능을 하드웨어적으로 향상

  • Scale Out -> 서버 개수를 향상 -> 이 부분에서 Load Balancing이 적용되며, 이 작업을 Reverse Proxy 형태로 할 수 있음.

    • 클라이언트의 요청을 여러 서버에 부하를 최대한 줄여가며 처리할 수 있도록 나누어주는 작업.

    • 분산하는 알고리즘과 방법에는

      • 요청에 대한 응답시간을 보면서 서버의 부하상태 확인하는 방법과
      • 미리 웹 서버의 능력을 설정하고 그에 맞게 비율

      나누는 방법이 있을 수 있음.

2) Load Balancer의 종류

  • OSI 7 Layer 기준으로 나눔
    • L2 - Mac 주소를 바탕으로
    • L3 - IP 주소를 바탕으로
    • L4 - Transport Layer(TCP/UDP) 바탕으로
    • L7 - Application Layer(HTTPS/HTTP/FTP) 바탕으로
      • ex) 뒤에 추가로 붙게되는 URI에 따라서 담당 서버를 나눌 수 있음. /member /category 와 같이.

학습자료: 테코톡 유튜브 영상1, 테코톡 유튜브 영상2


마지막 수정일시: 2022-11-29 14:40

카테고리:

업데이트:

댓글남기기