Proxy + load balance

zooju·2022년 11월 14일
0
post-custom-banner

Proxy + load balance

proxy hoxy 들어봄?

Proxy Server (network proxy)

  • Proxy: “대리” → 남을 대신하여 일을 처리함



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

Forward Proxy

  • 일반적인 Proxy는 Forward Proxy 예시: 개인정보를 빼돌린 해커가 IP추적을 방지하기 위해 Proxy를 썼다~

  • 클라이언트와 인터넷 사이에 위치함
  • 특징 1) 캐싱: 클라이언트가 요청한 내용을 캐싱해두어 부가적인 효과를 나타내게 됨.
    클라이언트1 -> 서버: 오늘 날씨 어때?
    서버 -> 클라이언트1: 비와요
    포워드 프록시: "오늘 날씨 어때" 요청에는 "비와요" 응답이 오는군.. 기억기억~
    클라이언트2: 오늘 날씨 어때?
    포워드 프록시: "비와요" (서버를 거치지 않고 바로 응답해줌)
    • 장점
      - 전송 시간 절약
      - 불필요한 외부 전송 x
      - 외부 요청 감소 → 네트워크 병목 현상 방지

      2) 익명성: 클라이언트가 보낸 요청을 감춤 ****

      클라이언트 -> 서버 직접 호출: 클라이언트의 IP, 포트 등의 정보를 서버가 받을 수 있음
      포워드 프록시 거쳐서 호출: 포워드 프록시의 IP, 포트 등으로 바뀌게 됨

      서버는 응답받은 요청을 누가 보냈는지 알지 못함. (Server가 받은 IP: proxy IP)

Reverse Proxy

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

특징

  1. 캐싱
  • 포워드 프록시와 동일
  • 클라이언트가 요청한 내용을 캐싱
  1. 보안
  • 서버 정보를 클라이언트로부터 숨길 수 있음

- Client는 Reverse Proxy를 실제 서버라고 생각하고 요청 → 실제 서버의 IP가 노출되지 않음
  1. Load Balancing
    • Optional!

Load Balancing

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

  • 왜 사용할까?


사용자가 늘어서 서버에 부하가 생김 

선택사항 1: **Scale UP**! (하드웨어의 성능 높이기)

선택사항 2: **Scale Out**! (여러대의 서버가 나누어 일하기)

  • Load Balancer란? 여러대의 서버가 분산 처리할 수 있도록 요청을 나누어주는 서비스
  • Load Balancer 종류 OSI 7 layer 기준으로 어떤 것을 나누는지에 따라 다름
    • L2: MAC 주소를 바탕으로!
    • L3: IP 주소를 바탕으로!
    • L4: Transport Layer(IP, Port) level에서 로드 밸런싱 https://notion.com으로 접근 시 서버 A, 서버 B로 로드밸런싱!
    • L7: Application Layer level에서 로드 밸런싱 https://mepe.app으로 접근 시 /users 와 /notification 을 담당 서버들로 로드 밸런싱! (url, query parameter 등에 따라서…)

    Reference.

    https://www.youtube.com/watch?v=NyhbNtOq0Bc
profile
이것 저것 새로운 분야에 관심이 많은 서버 개발자
post-custom-banner

0개의 댓글