우아한 테코톡(10), Forward Proxy, Reverse Proxy, Load Balancer

2022. 8. 25. 18:26간단한 컴퓨터 이론/우아한테코톡

728x90
반응형

본 포스팅은 우아한Tech의 테코톡 제이미님의 Forward Proxy, Reverse Proxy, Load Balancer 영상을 정리한 내용입니다.

Forward Proxy, Reverse Proxy, Load Balancer의 특징을 위주로 정리했습니다.


Forward Proxy, Reverse Proxy, Load Balancer

 

1. Proxy

1) Proxy란?

작업을 대신하여 수행하는 것을 의미한다.


2) Proxy server

Forward Proxy 예시

클라이언트와 서버 간의 중계 서버로 통신을 대리 수행하는 서버를 의미한다. 이를 사용하면 캐시/보안/트래픽 분산 등의 여러 장점을 가질 수 있다.

 

3) Proxy server의 종류

(1) Forward Proxy

(2) Reverse Proxy


2. Forward Proxy

1) Forward Proxy

일반적으로 말하는 Proxy는 Forawrd Proxy이다. 이는 인터넷 속도를 향상시키거나, 외국에서 접속하는 것처럼 테스트를 하거나 IP추적을 방지하기 위해 Proxy를 사용할 수 있다.

 

2) Forawrd Proxy 흐름도

클라이언트와 인터넷 사이에 존재하는 것을 볼 수 있다.

 

3) Foward Proxy의 특징

(1) 캐싱

포워드 프록시는 클라이언트가 요청한 내용을 캐싱해두어 여러 장점을 가질 수 있다. 이에 따라 기존에 서버에 요청한 데이터를 미리 저장해두기에 전송 시간이 절약되고 불필요한 외부 전송을 하지 않는다. 또한 외부 요청이 감소되기에 네트워크 병목 현상도 방지할 수 있다.

 

(2) 익명성

클라이언트가 보낸 요청을 감춘다는 특징이 있다. 클라이언트와 인터넷 사이에 프록시가 있기에 클라이언트가 바로 드러나지 않는다. 이에 따라 서버는 응답 받은 요청을 누가 보냈는지 알지 못하게 한다. 서버가 받은 요청 IP는 Proxy IP가 된다.


3. Reverse Proxy

1) Reverse Proxy 흐름도

인터넷과 서버 사이에 위치한 프록시이다.

 

2) Reverse Proxy의 특징

(1) 캐싱

클라이언트가 요청한 내용을 캐싱한다. 이는 포워드 프록시와 동일한 장점을 지닌다.

 

(2) 보안

리버스 프록시를 사용하면 서버 정보를 클라이언트로부터 숨길 수 있다. 클라이언트는 리버스 프록시를 실제 서버라고 생각하여 요청하기에 실제 서버의 IP가 노출되지 않는다. 이에 따라 보안이 강화된다.

 

(3) Load Balancing

해야할 작업을 나누는 것을 의미하며 로드 밸런싱은 하는 경우도 있고, 하지 않는 경우도 있다.


4. Load Balancer

1) Load Balancing

해야할 작업을 나눠서 서버의 부하를 분산시키는 것이다.


 

2) Load Balancer가 하는 일

여러 대의 서버가 분산 처리할 수 있도록 요청을 서버에게 나눠주는 역할을 한다.


 

3) Load Balancer가 나타난 배경

초기 서비스를 배포할 때 예상했던 것보다 사용자가 늘어나는 경우에는 서버에 부담이 생길 수 있다. 이때 Scale Up을 해 서버의 하드웨어 성능을 높여서 해결할 수 있다. 하지만 이는 한계가 있기에 더 많은 사용자가 생기는 경우에는 하드웨어를 보강하는 것만으로는 이를 처리할 수 없다. 이에 따라서버를 늘려서 사용자가 많아져서 서버에 부하가 가는 문제를 해결하게 된다.

 

 

4) Load Balancer 종류

OSI Layer 기준으로 로드 밸런서를 나눌 수 있다. 백엔드 개발자는 L4와 L7을 중심으로 이를 파악하는 것이 중요하다.

 

(1) L4

Transport layer 레벨에서 Load Balancing을 한다. 어떤 서버에 접근할 때 서버를 나눠주는 역할을 한다.

 

(2) L7

Application layer 레벨에서 로드밸런싱을 한다. 블로그로 접근 시 /category와 /search 등 쿼리에 따라서 어떤 서버로 로드밸런싱을 할지를 정하는 것이다.

 

 


출처

https://www.youtube.com/watch?v=YxwYhenZ3BE 

 

 

728x90
반응형