Diki 검색중...

#개념

로드 밸런싱(Load Balancing)은 다수의 클라이언트 요청을 여러 서버·인스턴스·리소스로 분산시켜 처리량(Throughput)을 높이고 지연(Latency)오류율(Error Rate)을 낮추며 가용성(Availability)을 확보하는 핵심 인프라 기술이다. 네트워크 계층(L3/L4)에서는 IP·포트와 TCP/UDP 연결 단위로 분산하고, 애플리케이션 계층(L7)에서는 HTTP/HTTPS의 경로(Path)·헤더(Header)·쿠키(Cookie) 등 콘텐츠를 인지해 세밀하게 라우팅한다. 이러한 원리는 웹/모바일 API뿐 아니라 데이터베이스, 캐시, 스토리지, 스트리밍, 머신러닝(ML) 모델 서빙까지 폭넓게 적용된다.
로드 밸런서(Load balancer)는 로드 밸런싱을 수행하는 물리적(하드웨어) 또는 소프트웨어 장치다. 물리적 로드 밸런서(Hardware Load Balancer)는 전용 하드웨어로 트래픽을 분산해 높은 성능과 낮은 지연 시간을 제공하며, 대규모 트래픽 처리와 안정성 측면에서 유리하다. 그러나 초기 비용과 유지보수 비용이 높고, 확장성이 제한적이며 클라우드·컨테이너 환경과의 통합이 어렵다. 반면 소프트웨어 로드 밸런서(Software Load Balancer)는 범용 서버나 클라우드에서 동작해 비용이 저렴하고 확장성이 뛰어나며 현대적 운영 환경과 잘 통합된다. 다만 고성능 처리 시 지연 시간이 증가할 수 있고, 성능 최적화를 위해 추가 튜닝과 모니터링이 필요하다. 따라서 시스템의 규모와 예산, 운영 환경에 따라 적절한 방식을 선택하는 것이 중요하다.
로드 밸런서는 단순 분산기를 넘어 헬스 체크(Health Check)로 비정상 노드를 자동 격리/복귀시키고, 세션 지속성(Session Persistence)을 위한 쿠키/IP 해시/토큰 기반 스티키 라우팅 또는 서버 간 상태 동기화를 제공한다. 또한 TLS 종료/재암호화, 콘텐츠 기반 라우팅(URL·메서드·헤더 조건), 레이트 리미팅/서킷 브레이커/재시도(Backoff), WAF(Web Application Firewall) 연계, 관측 가능성(Observability)(로그·지표·트레이싱) 등을 통해 안정성과 보안을 강화한다.
로드 밸런싱 알고리즘은 대량의 트래픽을 어떤 기준으로 여러 서버에 분배할지를 결정하며, 시스템의 특성에 맞춰 선택하는 것이 중요하다. 특히 데이터 사이언스 분야에서 특정 서버에 트래픽이 집중돼 병목이 되는 경우가 많기 때문에, 최적의 로드 밸런싱 알고리즘을 적용하는 것이 중요하다. 실제 운영 환경에서는 여러 알고리즘을 혼합하여 사용하며, 시스템의 요구사항에 맞는 최적의 전략을 수립해야 한다. 로드 밸런싱 알고리즘은 다음과 같다.
로드 밸런싱의 핵심 알고리즘과 원리
  1. 라운드 로빈 (Round Robin): 가장 단순한 방식으로, 각 서버에 요청을 순서대로 할당한다. 모든 서버의 성능이 비슷할 때 효과적이지만, 서버 간 성능 차이를 고려하지 않아 특정 서버가 과부하에 걸릴 수 있다.
  2. 가중치 기반 라운드 로빈 (Weighted Round Robin): 서버별로 가중치를 부여하여 성능이 높은 서버에 더 많은 요청을 할당한다. GPU 성능이 다른 머신러닝 모델 서빙 서버에 적합한 방식이다.
  3. 최소 연결 (Least Connections): 현재 가장 적은 수의 연결을 유지하고 있는 서버에 새로운 요청을 보낸다. 실시간으로 부하를 분산하는 데 효과적이며, 과부하를 방지하는 데 유리하다.
  4. 해시 기반 (Hash-based): 클라이언트의 IP 주소나 세션 ID를 해시(hash)하여 특정 서버에 고정적으로 할당하는 방식이다. 이를 통해 세션 일관성을 유지하고, 캐시의 효율을 높일 수 있다.
이 외에도 서버의 실시간 응답 시간을 고려하는 가장 빠른 응답 시간(Least Response Time), CPU나 메모리 사용률이 일정 임계치를 초과한 서버를 제외하는 임계 부하 기반(Threshold Load Balancing), 그리고 과거 트래픽 패턴을 학습하여 최적의 분배를 결정하는 AI 기반(AI-based) 로드 밸런싱 등 다양한 알고리즘이 존재한다.
로드 밸런서를 설계·운영할 때는 시스템의 특성과 환경을 고려한 추가 요소들을 반드시 검토해야 한다. 확장성, 세션 지속성, 장애 감지 및 복구, 보안, 모니터링 같은 기능은 로드 밸런싱의 효과를 극대화하고 서비스 안정성을 보장하는 핵심 요인이다. 이러한 요소들을 종합적으로 적용하면 단순한 트래픽 분산을 넘어 고가용성과 보안을 강화하며, 운영 효율성까지 높일 수 있다.
로드 밸런서 도입 시 고려할 점
  1. 확장성: 트래픽 증가에 대비해 로드 밸런서가 자동으로 확장될 수 있는지 확인해야 한다. 클라우드 환경에서는 오토 스케일링(Auto Scaling)과 연동하여 트래픽 급증 시 자동으로 서버를 증설하고 분배할 수 있다.
  2. 세션 지속성 (Session Persistence): 특정 사용자의 요청이 항상 같은 서버로 전달되도록 세션을 유지하는 기능이 중요하다. 이를 위해 쿠키나 IP 해시 기반의 스티키 세션(Sticky Session) 기법을 활용할 수 있다.
  3. 장애 감지 및 복구: 로드 밸런서는 헬스 체크(Health Check) 기능을 통해 서버의 상태를 주기적으로 확인하고, 비정상적인 서버를 트래픽 분배 대상에서 자동으로 제외하여 서비스 중단을 방지한다.
  4. 보안: 로드 밸런서는 DDoS 공격 방어, SSL/TLS 암호화 처리, WAF(Web Application Firewall) 연동 등의 보안 기능을 통해 시스템을 보호하는 역할을 한다.
  5. 모니터링: 로드 밸런서의 성능 지표와 로그를 실시간으로 모니터링하여 병목 현상을 파악하고, 트래픽 패턴을 분석하여 최적의 운영 전략을 수립해야 한다.

#관련 용어

가용성
서버와 네트워크, 프로그램 등의 정보 시스템이 정상적으로 사용 가능한 정도
처리량
단위 시간당 시스템이 처리할 수 있는 요청 또는 데이터의 양
지연 시간
데이터가 송수신되는 전체 경로에서 발생하는 시간
헬스 체크
백엔드 서버의 상태를 주기적으로 점검하여 비정상 서버를 자동으로 격리하거나 복귀시키는 기능
세션 지속성
특정 사용자의 요청이 항상 같은 서버로 전달되도록 유지하는 기능
WAF
웹 애플리케이션 공격(SQL 삽입, XSS 등)으로부터 서버를 보호하는 방화벽
Observability
시스템의 상태를 이해하고 문제를 추적할 수 있도록 로그, 지표, 트레이싱 데이터를 수집·분석하는 능력
오토 스케일링
클라우드 환경에서 부하 증가에 따라 서버 인스턴스를 자동으로 추가하거나 제거하는 기능
서킷 브레이커
장애가 발생한 서비스를 보호하기 위해 일정 조건에서 요청을 차단하고 복구될 때까지 대체 경로를 사용하는 패턴

#직무 연관도

DA | Data Analyst낮음
데이터 해석과 시각화를 진행할 때, 사용자가 많아지거나 대규모 데이터에 대한 복잡한 쿼리가 실행되면 특정 서버에 요청이 몰려 지연이 증가하거나 서비스가 중단될 수 있음
DS | Data Scientist보통
실시간 추천 시스템, 온라인 예측 API등 수많은 사용자의 요청을 동시에 처리해야 하는 경우, 모델 서빙 인프라에 적절한 부하 분산이 필요함
DE | Data Engineer밀접
데이터 파이프라인, 분산 처리 시스템, 머신러닝 서빙 인프라를 구축·운영할 때 로드 밸런싱이 핵심 기술로 사용됨

#사용 사례

모든 산업 분야
개요
로드 밸런싱은 다수의 요청을 여러 서버·인스턴스·리전으로 분산해 처리량을 높이고 지연과 장애를 줄이는 핵심 인프라 기술로써,웹/API, 데이터베이스 읽기 스케일아웃, 캐시·스토리지, 스트리밍, 머신러닝 온라인 추론 등 다양한 워크로드에 적용된다.
사례
Netflix의 Ribbon은 소프트웨어로 구현한 클라이언트 사이드 로드 밸런서로, 여러 서버 인스턴스의 목록을 받아 가장 적절한 서버를 선택한다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.