WIPIVERSE

부하분산

부하분산은 시스템에 가해지는 작업량(부하)을 여러 구성 요소에 고르게 배분함으로써 전체 성능을 향상시키고, 특정 요소에 과부하가 발생하는 것을 방지하는 기술·개념을 말한다. 주로 컴퓨터 네트워크, 서버 클러스터, 데이터베이스, 전력망 등 다양한 분야에서 적용된다.

정의

  • 컴퓨팅·네트워크: 여러 서버나 네트워크 장비에 들어오는 요청을 분산시켜 응답 시간을 단축하고, 시스템 가용성을 높인다. 로드 밸런서(Load Balancer)가 대표적인 구현 장치이다.
  • 전력·에너지: 전력 공급망에서 전력 수요를 여러 발전소·송전선에 고르게 배분하여 전압·주파수 안정성을 유지한다.
  • 제조·공정: 생산 라인에서 작업 부하를 균등하게 배분해 생산 효율성을 극대화한다.

주요 적용 분야

  1. 웹 서비스: HTTP 요청을 여러 웹 서버에 분산시켜 트래픽 급증 시에도 서비스 연속성을 유지한다.
  2. 클라우드 컴퓨팅: 가상 머신(VM)이나 컨테이너를 클러스터 내 여러 물리 서버에 자동 배치해 자원 활용률을 최적화한다.
  3. 데이터베이스: 쿼리나 트랜잭션을 여러 DB 인스턴스에 분산시켜 처리량을 증가시킨다.
  4. 네트워크 트래픽: 라우터·스위치 수준에서 패킷을 여러 경로로 전송해 대역폭 활용을 극대화한다.
  5. 전력 시스템: 부하(전력 수요)를 여러 발전 설비에 균등히 할당해 전력 손실을 최소화한다.

구현 방식

  • 라운드 로빈(Round Robin): 순차적으로 서버에 요청을 할당한다.
  • 최소 연결수(Minimum Connections): 현재 연결이 가장 적은 서버에 할당한다.
  • 가중치 기반(Weighted): 서버 성능에 따라 가중치를 부여하고 가중치 비율에 따라 요청을 배분한다.
  • 헬스 체크(Health Check): 서버 상태를 실시간 모니터링하여 장애가 발생한 서버를 자동으로 제외한다.

어원

  • 부하(負荷): ‘짐, 하중’이라는 의미를 갖는 한자어.
  • 분산(分散): ‘나눠서 퍼뜨림’이라는 의미를 갖는 한자어.
  • 두 단어가 결합된 형태로, 영어 “load balancing”을 직역·의역한 용어로 판단된다.

관련 용어

  • 로드 밸런싱(Load Balancing): 부하분산과 동등한 의미로, 주로 영어 표기로 사용된다.
  • 스케일링(Scaling): 시스템 용량을 확대하거나 축소하는 개념으로, 부하분산과 함께 논의되는 경우가 많다.
  • 고가용성(High Availability): 시스템이 지속적으로 서비스 제공을 유지하는 특성을 의미하며, 부하분산은 고가용성을 구현하는 핵심 기술 중 하나이다.
둘러보기

더 찾아볼 만한 주제

    전체 문서 보기