Back-end/Network

로드 밸런싱이란? Load balancing

cheersHena 2021. 4. 26. 11:16
반응형

로드 밸런싱 Load balancing 

로드밸런싱(부하 분산) 은 컴퓨터 네트워크 기술의 일종으로 중앙처리장치 또는 저장장치와 같은 컴퓨터 자원들에게 작업을 분산하는 것을 의미한다. 

 

서버에 가해지는 부하(로드) 를 분산(밸런싱) 해주는 기술이다.

사업의 규모가 확장되고 클라이언트의 수가 증가하게 되면 기존 서버로 정상적인 서비스가 불가하게 되는 경우가 발생하는데, 이러한 증가 트래픽에 대처할 수 있는 방법은

 

1. Scale up: 서버자체의 성능을 높이는 것.

2. Scale out: 여러대의 서버를 두는 것.

 

*참고 포스팅

https://cheershennah.tistory.com/270

 

Scale Up 스케일 업/ Scale Down 스케일 다운이란? - 서버확장

서버를 운영하다 보면 갑작스런 트래픽 증가, 사업 확장 등으로 더 많은 서버 용량과 성능이 필요하게 된다. 이럴때에는 Scale Up 스케일 업/ Scale Down 스케일 다운 방법으로 서버를 확장시킬 수 있

cheershennah.tistory.com

 

Scale out 방식은 여러대의 서버로 트래픽을 균등하게 분산하는 로드 밸런싱이 반드시 필요하다. 

 

 

주요 기능

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

 

Load Balacer 종류 

 

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는 어떤 기준으로 Server를 선택하나 ?

 

Round Robin

- 단순히 round robin으로 분산

 

Least Connection

- 연결개수가 가장 적은 서버를 선택.

- 트래픽으로 인해 세션이 길어지는 경우 권장

 

Source

- 사용자의 IP를 hashing하여 분배하는 방식

- 사용자는 항상 같은 서버로 연결되는 것을 보장 

 

Load Balancer 장애대비

- Load balancer를 이중화 하여 장애를 대비할 수 있다. 

 

 

 
반응형