상세 컨텐츠

본문 제목

Load Balancing이란?

IT용어

by 형쭈니 2022. 2. 13. 17:22

본문

안녕하세요! 쭈니에요!

 

이번에는 Load Balancing(로드밸런싱)이라는 것을 알아볼거에요!

 

Load Balancing이란?

- 부하분산 또는 로드 밸런싱(load balancing)은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미 (출처 : 위키백과)

- 장점 : 가용성 및 응답시간을 최적화 할 수 있음

- 단점 : 세션에 대한 관리가 어려움

 

이렇게만 보면 이해하기가 어렵죠? 그래서 이해하기 쉽도록 제가 그린 그림을 가져와봤어요!

 

Load Balancing 미제공시 서버 예시

 

Load Balancing이 제공되지 않는 시스템이라면 서버는 앞에서 전달받는 무수히 많은 요청을 견디지 못하게 됩니다. 우리도 학창시절 담임 선생님이 만약 저한테만 학급 청소를 다 시키셨다면 저희도 터졌겠죠? 그렇듯이 서버는 자신만의 커버 할당량이 있으며, 이것을 넘기게 될 시에는 서버 다운 등 정상적인 활동을 할 수가 없게 됩니다. 예를 들면, 대학생들은 수강신청이 있네요. 수강신청 날에는 특정 시간대에 요청(트래픽)이 몰리기 때문에 이를 서버 하나에서 커버하기가 힘듭니다. 가끔씩 '서버가 터졌다!'는 말이 이런 것으로부터 나오게 되는거에요.

 

그럼 이러한 문제를 Load Balance가 어떻게 해결을 해주는걸까요?

 

Load Balancing 개념도

만약 요청을 받는 서버의 앞에 Load Balancer(Load Balancing을 제공하는 주체)가 있다면, 무수히 많은 요청을 받을 시 이를 뒤에있는 여러대의 서버에 분배를 해주어 부하를 막아줍니다. 앞서 보여드렸던 그림에서 한 대가 아닌 여러 대의 서버를 구성해놓았을지라도, Load Balancer라는 분산을 담당하는 친구가 없다면 하나의 서버로 몰리게 될 거고, 이는 서버가 터지는 결과를 낳게 됩니다. 그렇기에 서버를 여러대 구성 시 앞에서 Load Balancer라는 친구가 부하를 분산해주며, 이 작업을 Load Balancing 이라고 합니다. 예시를 들면, 수강 신청 시 몰리는 요청(트래픽)에 대해서 이를 처리할 수 있도록 여러 대의 서버가 사용자의 요청을 받고 있는 셈이죠!

 

그렇다면 분산을 하는 기준에는 무엇이 있을까요? 대표적으로 4가지의 분산 방법이 있습니다.

1. Round-Robin
- 서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식

- 서버와의 연결이 오래 지속되지 않는 경우 적합

 

2. 가중 Round-Robin (Weight-Based)

- 각 서버에 가중치를 매기고 가중치가 높은 서버에 요청을 우선적으로 배정하는 방식

- 서버의 트래픽 처리 능력이 다른 경우 사용

 

3. 최소 연결 방식

- 요청이 들어온 시점에 가장 적은 연결 상태를 보이는 서버에 트래픽을 배정하는 방식

- 서버에 분배된 트래픽들이 일정하지 않은 경우 사용

 

4. IP 해시 방식

- 클라이언트의 IP주소를 특정 서버로 매핑하여 요청을 처리하는 방식

 

위 4가지 방법으로 부하를 분산할 수 있습니다.

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

EOS, EOL이란?  (0) 2022.03.04
Parsing(파싱)이란?  (0) 2022.02.19
On-Premise, Cloud란?  (0) 2022.02.06
프로토콜(Protocol)이란?  (0) 2022.02.02
PoC, Pilot, BMT 란?  (0) 2022.02.01

관련글 더보기