개발일기

Load Balancer란? 본문

IT 지식

Load Balancer란?

Flashback 2022. 5. 20. 23:15
728x90
반응형

1. Load Balancer란?

서버에 들어오는 요청(트래픽)을 다른 서버들에 적절히 분산하여 해당 서버에 가해지는 부하를 방지하기 위해 사용하는 네트워크 기술 중의 하나이다.

 

2. 서버의 증설 방법

  • Scale-Up : 현재 서버 자체를 증강시켜 해당 서버가 대량의 트래픽을 관리할 수 있는 처리 능력을 향상시킨다. Scale-Up 방법으로 할 경우, 서버를 증강시키는 시점에 서버가 중지된다.
  • Scale-Out : 서버 자체를 증강시키는 것이 아니라, 같은 사양을 가진 장비 또는 비슷한 사양을 가진 장비의 대수를 증가시켜 처리 능력을 향상시키도록 하는 것을 뜻한다. 서버의 대수를 증가시키기에 Load Balancer를 통해 트래픽을 분산시켜주는 작업이 필수적으로 필요하다. 또한 서버 대수가 증가하기에 각각의 서버마다 개별적인 도메인이 필요하다.

 

3. Load Balancer의 OSI 7계층

OSI 7계층에서 2, 3, 4, 7계층에서 Load Balancer를 사용할 수 있다. 상위 계층으로 갈 수록 하위 계층의 Load Balancer보다 촘촘한 부하분산을 진행할 수 있다.

 

  • Application Load Balancer (ALB) : OSI7계층 중에서 Application Layer(7) 계층에서 작동하는 Load Balancer이다. 사용자가 맞닿아있는 계층이기에 HTTP, HTTPS 정보에 접근하여 좀 더 효율적인 부하분산을 진행할 수 있다.
  • Network Load Balancer (NLB) : OSI7계층 중에서 Transport Layer(4) 계층에서 작동하는 Load Balancer이다. TCP / UDP 프로토콜에서 부하를 분산하여 각 서버에 전달한다. 낮은 대기 시간으로 높은 효율을 낼 수 있다.
  • Classic Load Balancer (CLB) : L4와 L7계층 모두에서 사용할 수 있는 Load Balancer이다. 가장 기본적인 Load Balancer이다.

 

4. Load Balancer Algorithm

  • Round Robin (RR) : 이 방법이 가장 기본적인 방법. 서버에 들어온 요청을 순서대로 배분하는 방법이다. 예를 들어서 첫번째 요청은 첫번째 서버에, 두번째 요청은 두번째 서버에, 세번째 요청은 세번째 순서… 이러한 방법으로 분배한다.
  • Weighted Round Robin (WRR) : 각 서버에 가중치를 매긴다. 이 가중치를 매긴다는 것은 각 서버의 사양이 일정하지 않을 수도 있기에 가중치를 매긴다. 각 서버의 사양이 동일하다면 가중치를 매길 필요가 없지만 A서버와 B서버를 비교했을 때, A서버의 사양이 좋아 더 많은 트래픽을 할당받을 수 있을 경우, A서버에 높은 가중치를 매겨 B서버에는 완만한 트래픽을 분배시켜 부하를 방지할 수 있다.
  • IP Hash : 클라이언트 IP 주소를 해싱하여 분배시키는 것을 뜻한다. 해싱 함수를 활용하여 임의의 길이를 가진 데이터를 고정된 길이의 데이터로 매핑한 후, 서버에 분배시킨다. 해싱은 고정된 길이의 데이터를 반환하기에 다른 Load Balancer Algorithm과는 다르게 매번 같은 서버에 연결시키는 것을 보장한다.
  • Leact Connection : 서버에 요청이 들어온 시점에 가장 적은 연결 상태를 가진 서버에 분배하는 방법이다.
  • Least Response Time : 각 서버의 현재 연결 상태와 응답시간 등을 모두 고려하여 최적의 서버에 분배하는 방법이다.

 

 

 

참고사이트 : 

https://dev.classmethod.jp/articles/load-balancing-types-and-algorithm/

 

로드 밸런싱(Load balancing) 종류와 알고리즘 | DevelopersIO

로드 밸런싱이라고 하면「트래픽을 분산시켜주는 컴퓨터 네트워크의 기법」이라고만 생각했지만, 로드 밸런스를 구현해보고 사용해보면서 다양한 종류와 알고리즘이 있다는 것을 알았습니다.

dev.classmethod.jp

 

728x90
반응형

'IT 지식' 카테고리의 다른 글

CDN 서비스 방식이란?  (0) 2021.11.04
Comments