로드 밸런서 (Load Balancer)

컴퓨터과학·AI
한 줄 정의: 들어오는 요청을 여러 대의 서버에 고르게 분산시켜 특정 서버에 부하가 몰리지 않도록 관리하는 시스템.

쉽게 풀면

서비스에 사용자가 몰리면 서버 한 대로는 감당하기 어려워 여러 대의 서버를 함께 운영하게 된다. 로드 밸런서는 이렇게 여러 서버가 있을 때, 새로 들어오는 요청을 어느 서버로 보낼지 결정해서 부하를 골고루 나눠주는 역할을 한다. 교통경찰이 여러 차선으로 차량 흐름을 분산시키는 것과 비슷하다. 이를 통해 특정 서버만 과부하로 느려지거나 멈추는 것을 막고, 서버 한 대가 고장 나도 나머지 서버로 요청을 돌려 서비스를 계속 유지할 수 있다.

왜 중요한가

로드 밸런서는 대규모 분산 시스템의 확장성과 가용성을 결정짓는 핵심 구성 요소이기 때문에 클라우드 컴퓨팅, 분산 시스템, 네트워크 연구 전반에서 다뤄집니다. 서비스 규모가 커질수록 단일 서버로는 트래픽을 감당할 수 없어 다중 서버 구조가 필수가 되는데, 이때 요청을 어떻게 분산하느냐가 응답 지연, 장애 복원력, 자원 효율에 직결됩니다. 최근에는 마이크로서비스 아키텍처와 대규모 AI 추론 서비스 확산으로 로드 밸런싱 알고리즘 최적화가 다시 주목받는 연구 주제가 되고 있습니다.

논문에서는 이렇게 쓰입니다

"모델 추론 서비스는 여러 개의 GPU 서버 앞단에 로드 밸런서를 두어 요청을 분산 처리하였다."

많은 사용자의 요청을 여러 대의 추론 서버에 고르게 나눠주는 로드 밸런서를 두어 시스템의 처리량과 안정성을 높였다는 뜻이다.

"제안하는 동적 로드 밸런싱 기법은 서버별 CPU 및 메모리 사용률을 실시간으로 반영하여 기존 라운드로빈 방식 대비 평균 응답 지연을 감소시켰다."

서버가 얼마나 바쁜지를 실시간으로 확인해서 요청을 배분하는 새로운 방식이, 순서대로 돌아가며 배분하는 기존 방식보다 응답 속도를 더 빠르게 만들었다는 내용입니다.

"컨테이너 오케스트레이션 환경에서 로드 밸런서는 헬스체크를 통해 장애가 발생한 파드로의 트래픽 전달을 자동으로 차단하였다."

여러 컨테이너를 관리하는 환경에서, 로드 밸런서가 고장 난 서버 단위(파드)를 자동으로 감지해 그쪽으로는 요청을 보내지 않도록 막았다는 뜻입니다.

조금 더 깊게 보면

로드 밸런서는 동작 위치에 따라 크게 계층 4(전송 계층, IP·포트 기준 분산)와 계층 7(애플리케이션 계층, URL이나 HTTP 헤더 기준 분산) 방식으로 나뉘며, 논문에서는 이 구분에 따라 처리 성능과 유연성의 트레이드오프를 다루는 경우가 많습니다. 분산 알고리즘으로는 라운드로빈, 최소연결(least connections), 가중치 기반, 그리고 서버 부하를 실시간 반영하는 적응형 방식 등이 흔히 비교 대상으로 등장합니다. 헬스체크 기능은 장애 서버를 자동으로 감지해 트래픽에서 제외함으로써 시스템 전체의 가용성을 높이는 보완 장치로 함께 언급되곤 합니다.

주의할 점

로드 밸런서를 어떻게 설정하는지(단순 순환 방식인지, 서버 부하를 실시간으로 반영하는 방식인지)에 따라 실제 분산 효율이 크게 달라질 수 있다.

관련 용어