Proxy
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
댓글남기기