본문 바로가기
IT 인터넷/비개발자를위한IT지식

로드밸런싱이란 무엇인가

by Oriyong 2020. 5. 25.
반응형

로드밸런싱(load balancing)이란 무엇인가

이번에 알아볼 개념은 로드밸런싱입니다. 우리 말로는 부하분산이라고 합니다. 서비스의 규모가 커지면 자연스럽게 들을 수 있는 개념인데요. 알아보겠습니다.

 

로드밸런싱 정의

부하분산 또는 로드 밸런싱(load balancing)은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미한다. 이로써 가용성 및 응답 시간을 최적화시킬 수 있다. 예를 들어, 메인프레임 1대(단일 구성체) 보다 IA-32와 같은 일반적인 서버(복합 구성체)가 안정성 면에서 유리한 위치에 있다. 부하분산 서비스는 그에 적합한 하드웨어와 소프트웨어에 의해 제공된다. 이 기술은 보통 내부 네트워크를 이용한 병렬 처리(특히, 고가용성의 병렬 처리)에 사용된다.

- 위키백과

 

간단히 말해서 컴퓨터 한 대로 처리하면 바쁘니까, 컴퓨터 여러 대를 놓고 나눠서 처리하는 개념입니다. 부하분산이라는 말대로 부하가 심하니, 그걸 분산해서 서비스를 원활히 하는 개념입니다.

 

로드밸런싱 개념

통상의 웹사이트라고 하면 클라이언트인 웹브라우저가 웹서버에 웹페이지를 요청합니다. 웹서버는 기다리고 있다가 요청을 받고 웹페이지를 내줍니다.

 

문제는 여러 클라이언트가 동시에 많은 웹페이지를 요청할 때입니다. 그러면 서버는 웹페이지를 만들어서 대답하기 너무 바쁩니다. 그래서 아래와 같이 요청이 올 때마다 처리할 서버를 지정해서 나눠주는 구조를 만듭니다.

위 그림에서 서버1, 서버 2, 서버 3은 동일한 기능을 하도록 만들어 놓습니다. 그래서 어느 쪽으로 보내더라도 동일한 결과를 받을 수 있습니다. 로드밸런서는 요청이 오면 설정에 따라 요청을 서버 1, 2, 3 중에 하나로 보냅니다. 예시에서는 서버 3대지만 큰 서비스의 경우 서버가 수십대가 되기도 합니다.

 

이런 로드밸런서는 하드웨어일 수도 있고, 소프트웨어로 구현되어 있을 수도 있습니다. 레이어 계층 차이인데, 우리는 굳이 거기까진 몰라도 됩니다. 우리가 알아야 할 것은 요청이 오면 여러 곳 중에 한 곳으로 요청을 보내준다 하는 개념 정도입니다.

 

요청을 보내주는 기준은 설정에서 시키는대로 하는데요. 설정 종류는 부하가 적은 곳으로, 연결이 적은 곳으로, 아니면 무조건 번호 순서대로 순차적으로 보낼 수도 있습니다. 언급한 설정 말고도 다양한데요. 하나씩 설정 이름을 알아두는 것보다는 저런 개념이 있다는 정도만 알아두면 좋습니다.

 

정리

참고로 로드밸런서는 컴퓨터를 여러 대 준비해서 부하를 분산하는데요. 이렇게 부하를 수평적으로 분산하는 방식을 스케일-아웃(Scale-out)이라고 합니다. 부하를 대응하기 위한 다른 방식은 스케일-업(Scale-up) 방식도 있습니다. 스케일업은 서버의 CPU, RAM 등 하드웨어를 더 좋은 장비로 교체해주는 것이죠.

 

어떤 방식이든 실무에서는 다양하게 단어가 튀어나오니, 미리 한 번쯤 들어두면 좋습니다.

 

클라우드 서비스들은 이런 부하 분산 자체를 신경 쓰지 않아도 되도록 다양한 기능을 제공하는데요. 당장 사용하지 않더라도 개념을 미리 알아두면 도움이 됩니다.

반응형

'IT 인터넷 > 비개발자를위한IT지식' 카테고리의 다른 글

P2P란 무엇인가  (0) 2020.05.22
Failover란 무엇인가  (0) 2020.05.17
AR이란 무엇인가  (0) 2020.05.12
VR이란 무엇인가  (0) 2020.05.12
SQL이란 무엇일까  (0) 2020.05.06