Client가 한두명일 경우에는, Server는 Client의 요청에 대해 여유롭게 결과를 응답해 줄 수 있다.

하지만, Client가 한두명이 아닌, 수천, 수백만명이라면 어떨까?

 

Server는 모든 사람들에게 답을 해주고 싶지만, 결국 과부하가 온다.

 

문제를 해결하기 위해선 

  • Scale-up : Server의 하드웨어 성능을 올리는 방법
  • Scale-out : 하나의 server보다는 여러 대의 Server가 나눠서 일을 하는 방법

Scale-out의 장점은?

  • 하드웨어를 향상시킬때 드는 비용보다 서버 한대 추가 비용이 더 적다.
  • 여러 대의 server로 무중단 서비스를 제공할 수 있다.(cluster의 개념과 유사)

여러 대의 Server에 균등하게 트래픽 분산을 해주는 것이 오늘의 주제, Load Balancer의 역할이다.


 

Load Balance란,, 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러 대의 서버가 분산처리하여 서버의 로드율 증가, 부하량, 속도저하 등을 고려하여 적절히 분산처리해주어 트래픽 문제를 해결해주는 서비스이다.

 

 

주요 기능에는,,

  • NAT(Network Address Translation)
    • 사설 IP 주소를 공인 IP 주소로 바꾸는데 사용하는 통신망의 주소 변조기이다.
  • Tunneling
    • 인터넷 상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게 하는 개념
    • 데이터를 캡슐화해서 연결된 상호 간에만 캡슐화된 패킷을 구별해 캡슐화를 해제할 수 있다.
  • DSR(Dynamic Source Routing protocol)
    • 로드 밸런서 사용 시 서버에서 클라이언트로 되돌아 갈 경우, 목적지 주소를 스위치의 IP주소가 아닌 클라이언트의 IP주소로 전달해서 네트워크 스위치를 거치지 않고 바로 클라이언트를 찾아간다.

 

Load Balancer의 종류는 어떤 것이 있을까?

  • L2
    • Mac주소를 바탕으로 Load Balancing
  • L3
    • IP주소를 바탕으로 Load Balancing
  • L4
    • Transport Layer(IP & Port) Level에서 Load Balancing한다.
    • TCP, UDP
  • L7
    • Application Layer(사용자의 Request) Level에서 Load Balancing한다.
    • HTTP, HTTPS, FTP

 

Load Balancer의 장애 대비는?  - 이중화하여. 이것도 cluster의 개념.

 

Reference

'IT 용어사전' 카테고리의 다른 글

Protocol 이란,,,,  (1) 2020.08.07
proxy란,,,,  (0) 2020.08.07
provisioning이란,,,  (0) 2020.08.07

+ Recent posts