본문 바로가기

우아한테크코스/테코톡

Forward Proxy, Reverse Proxy, Load Balancer

2021-05-21글

[10분 테코톡] 🐿 제이미의 Forward Proxy, Reverse Proxy, Load Balancer을 들으며 정리한 글입니다.

(Network) Proxy

  • 정의 : 남을 대신하여 일을 처리함 (대리)

Proxy Server

  • 대신 처리하는 서버
  • 클라이언트와 서버간의 중계 서버로, 통신을 대리 수행하는 서버
  • 캐시/보안/트래픽 분산 등 여러 장점을 가질 수 있음

종류

  • Forward Proxy
  • Reverse Proxy

Forward Proxy

  • 일반적으로 말하는 Proxy
  • 예제
    • 인터넷 속도를 향상 시키기 위해 proxy 설정
    • IP 추적을 방지하기 위해 Proxy 설정

  • 클라이언트와 인터넷 사이에 위히

특징

캐싱

  • 클라이언트가 요청한 내용을 캐싱
  • 동일한 요청에 대한 응답 값을 캐싱함
  • 장점
    • 전송 시간 절약
    • 불필요한 외부 전송 x
    • 외부 요청 감소로 인해 네트워크 병목 현상 방지

익명성

  • 클라이언트가 보낸 요청을 감춤
  • 클라이언트 요청이 마치 프록시 서버가 요청을 보낸것 처럼 정보를 감출 수 있음
  • 서버가 받은 요청을 누가 보냈는지 알지 못하게 함 (서버가 받은 요청 IP는 Proxy의 IP이기 때문)

Reverse Proxy

  • 인터넷과 서버들 사이에 위치

특징

캐싱

  • 클라이언트가 요청한 내용을 캐싱
  • Forward Proxy와 동일

보안

  • 서버 정보를 클라이언트로 부터 숨김
  • 클라이언트는 요청을 할 때 서버들을 직접 알지 못함
  • 클라이언트는 서버의 Reverse Proxy에 요청을 보냄
  • Reverse Proxy는 자신이 알고 있는 서버에 요청을 전달
  • 클라이언트는 Reverse Proxy를 실제 서버라고 생각하여 요청
  • 실제 서버의 IP가 노출되지 않음

Load Balancing

  • 하는 경우도, 하지 않는 경우도 있어 선택적임

Load Balancing

  • 부하분산
  • 즉 해야할 작업을 나누어 서버의 부하를 분산시키는 서비스 (요청을 서버들에게 나누어줌)
  • 서버에 나눠주는 다양한 알고리즘이 존재

나타난 배경

  • 서버 한대로 운영하다가 사용자가 늘어난 경우 서버에 부하가 오는 문제 발생
  • 서버의 scale up을 한다해도 이런 부담을 해결할 수 없음 (소켓이 한정적이기 때문)
  • 서버를 여러대로 두자!

종류

  • L2 : MAC 주소를 바탕으로
  • L3 : IP 주소를 바탕으로
  • L4 : Transport Layer (IP & Port) 를 바탕으로 (TCP/UDP)
    • https://newwisdom.github.io/ 로 접근 시 서버 A, 서버 B로 나눠줌
  • L7 : Application Layer (User Request) 를 바탕으로 (HTTPS, HTTP, FTP)
    • https://newwisdom.github.io/ 에 접근시 /category/search 를 담당 서버들로 나눠줌

참고자료

'우아한테크코스 > 테코톡' 카테고리의 다른 글

CORS  (0) 2021.08.06
Cache  (0) 2021.08.06
MVC 패턴  (0) 2021.08.06
DTO와 VO  (0) 2021.08.06
전략패턴  (0) 2021.08.06