공부

로드밸런싱이란?

snowfield 2020. 2. 29. 19:16

로드밸런싱(load balancing)이란?

부하분산이라고도 불리며, 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미.

또한 거대한 트래픽의 감당을 줄이기 위한 방법으로 제시됨.

  • 보통 트래픽의 서버의 부화가 심할 때는 가장 먼저 하는 일은 DB와 서버를 분리하는 것.
  • DB서버의 분리만으로도 서버의 부하를 감당할 수 없음.

가용성 및 응답시간을 최적화 시킬 수 있음.

이 기술은 보통 내부 네트워크를 이용한 병렬처리에서 이용된다.

 


로드 밸런싱 방법으로는 2가지가 있다.

  1. 네임(DNS)서버의 도메인을 이용한 DNS 라운드 로빈
  2. L4를 이용한 로드밸런싱

 

라운드로빈 DNS(Round Robin DNS)

  • 특별한 하드웨어 및 소프트웨어가 필요가 없는 방식이 있다.
  • 서버가 A, B, C 3대가 있으면, 첫 번째 요청에는 A연결, 두 번째 요청에는 B연결, 세 번째 요청에는 C를 연결해주면서 무한히 반복 연결해주는 것을 의미.
  • 비용적인 부담 절감
  • 서버가 이상있는 경우에도 이상이 있는 서버로 부하를 부산
  • 1대의 서버의 장애발생시 원인을 찾기 힘듬.

L4를 이용한 로드밸런싱

  • Transport Layer(IP+Port) 로드 밸런싱
  • 예시 : IP+Port --> 213.12.32.123:80
  • TCP, UDP protocol
  • 장점 : Port 기반 스위칭 지원, VIP를 이용하여 여러대를 한대로 묶어서 부하분산
  • 주로 라운드 로빈 이용

 


참고