[Network] Load Balancer

2juhyunju ㅣ 2022. 8. 18. 11:30

Load Balancer

로드밸런서란 이름 그대로 부하를 분산해주는 기술이다. 쉽게 예를 들어 보면 어느 한 서비스가 있는데 평소에는 이 서비스를 이용하는데 큰 불편함이 없지만 만약 이 서비스에서 좋은 이벤트를 한다고 생각하면 갑자기 트래픽이 엄청나게 증가할것이다.

그러면 클라이언트는 이 서비스를 이용하는데 큰 불편함을 느낄 수 밖에 없다. 이 때 이러한 문제점을 해결하기 위해 로드 밸런서를 이용해 한 서버에 부하된 트래픽을 다른 서버에 분산 처리해주는 장치 또는 기술이다.


Scale

서버 한대에 트래픽이 과부하 될경우 해결할 수 있는 방법은 Scale을 사용해야 한다. Scale에는 여러 종류가 있고 이번 포스팅에서는 간단하게만 알아보도록 한다.

  • Scale-up: 서버의 스팩을 올린다.
  • Scale-out: 분산환경 똑같은 기능을 여러개의 시스템에 분산 시켜놓는 것 고가용성을 제공할수있음 이 때 로드밸런서를 이용해 부하 분산 처리를 한다.
  • Scale-in: Scale-out 한 환경을 다시 줄이는것

기본적인 Scale에 개념은 위와 같다. 하지만 만약 트래픽이 커지면 Scale-out을 직접 하고 또 트래픽이 줄어들면 Scale-in을 일일이 하는것은 불편하고 수고스러운 일이다. 그래서 클라우드 환경을 사용하게 된다면 Auto Scale 라는것을 사용할 수 있다.
여기에 대한 내용은 다음 포스팅 때 자세히 설명하겠다.


Load Balancing 종류

Load Balancing 이란 여러 대의 서버를 두고 서비스를 부하 분산 하기 위해 필요한 기술이다.

OSI 7계층을 기준으로 Load Balancing에 종류가 조금씩 달라진다. 상위 계층일수록 부하분산을 좀 더 섬세하게 할 수 있다.

L2

  • 2계층에서 정의된 정보를 바탕으로 로드 밸런싱 한다.
  • 2계층에 MAC 주소를 이용한다.
  • L4,L7에 비해 상대적으로 제한적이다.

L4

  • 4계층과 3계층에 정보를 바탕으로 부하를 분산한다.
  • IP주소와 port 번호를 이용한다.
  • L2보다는 비용적으로 비싸지만 부하 분산은 더 섬세하다.

L7

  • 가장 상위층인 7계층에 정보를 바탕으로 부하를 분산한다.
  • 가장 비용이 비싸고 가장 부하 분산을 섬세하게 한다.
  • L2,L4는 물리적 단계에서 가능하지만 L7은 소프트웨어를 사용해야 한다.

Load Balaning 알고리즘

Round Robin Method ( 라운드로빈 방식)

  • 서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식 가장 기본적인 방법이다.
  • 서버와의 연결이 오래 지속되지 않은 경우 가장 균등하게 분산이 이루어지기 때문에 많이 사용한다.

Weighted Round Robin (가중 라운드로빈 방식)

  • 각각의 서버마다 가중치를 매기고 가중치가 높은 서버에 클라이언트 요청을 우선적으로 배분한다.
  • 서버의 트래픽 처리 능력이 상이한 경우 주로 사용한다.

IP Hash Method (Ip 해시 방식)

  • 클라이언트의 IP 주소를 해싱하여 특정 서보로 매핑하여 분산 처리하는 방식
  • 사용자의 IP 주소를 해싱하여 로드를 분배하기 때문에 항상 동일한 서버로 연결되는 것을 보장한다.
  • 접속자 수가 많을수록 효율이 뛰어나다.

Leact connection Method (최소 연결 방식)

  • 요청이 들어왔을 때 가장 적은 연결 상태를 가진 서버에 분배하는 방식
  • 세션이 길어지거나 서버에 분배된 트래픽들이 일정하지 않을 때 적합하다.

Least Response Time Method (최소 리스폰 타임)

  • 서버의 현재 연결상태와 응답시간을 고려하여 가장 짧은 응답 시간을 고려하여 트래픽을 분배
  • 각 서버들의 리소스와 성능 처리중인 데이터 양들이 다를 경우 적합하다.

 

'Network' 카테고리의 다른 글

[Network] CORS  (0) 2022.08.25
[Network] VPC  (0) 2022.08.22
[Network] Firewall,DMZ  (0) 2022.08.21
[Network] HTTPS, SSL  (0) 2022.08.17
[Network] DNS  (0) 2022.08.17