본문 바로가기

로드밸런싱

로드밸런싱이란 들어오는 요청을 여러 서버에 고르게 나누어 병목을 막고 처리량과 가용성을 함께 높이는 기법이다. 정해진 순서로 돌리는 정적 알고리즘과 서버의 현재 상태를 보고 정하는 동적 알고리즘으로 나뉘며, 요청이 지나는 배분 장치 자체가 단일 장애점이 되지 않도록 이중화하는 것이 중요하다.

목차

1. 개요

로드밸런싱이란 밀려드는 요청을 한 서버에 몰아주지 않고 여러 서버로 고르게 나눠 보내, 한쪽이 병목에 걸리는 일을 막고 처리량과 가용성을 함께 끌어올리는 기법이다.1 여러 컴퓨터가 협력하는 분산 시스템에서 캐시 메모리와 나란히 성능을 떠받치는 축이며, 고장 난 서버는 배분 대상에서 빼고 살아 있는 서버로만 요청을 돌려 서비스가 끊기지 않게 한다. 데이터 자체를 조각내 흩는 샤딩이 '저장의 분산'이라면, 로드밸런싱은 '요청의 분산'에 해당한다. 요청을 어느 서버에 보낼지 정하는 규칙이 로드밸런싱 알고리즘인데, 서버 상태를 보지 않고 정해진 순서로 돌리는 정적 방식과 각 서버의 형편을 살펴 정하는 동적 방식으로 갈린다. 쓰기를 한곳에 모으고 읽기를 여러 노드로 나누는 마스터-슬레이브 구조인터넷 주소 체계 같은 인접 주제와 함께 분산 시스템 지문의 한 축을 이룬다. 배분을 맡은 장치 역시 하나뿐이면 단일 장애점이 될 수 있다.

2. 상세

2.1. 목적 — 병목을 없애고 끊김을 막는다

한 서버에 요청이 몰리면 그 서버가 느려지거나 멈추면서 전체가 함께 처진다. 로드밸런싱은 이 몰림을 풀어 준다. 요청을 여러 서버에 흩어 처리량을 끌어올리고(확장성), 한 대가 쓰러져도 나머지가 요청을 받아 서비스가 이어진다(가용성). 은행 창구 하나에 줄이 길게 늘어설 때 창구를 여럿 열어 줄을 나누는 상황과 같다.2

2.2. 정적 알고리즘 — 서버 상태를 묻지 않는다

서버가 지금 바쁜지 한가한지 따지지 않고 미리 정한 규칙대로 요청을 배분하는 방식이다. 서버를 하나씩 돌아가며 차례로 맡기는 라운드로빈, IP 해시 같은 방식이 대표적이다. 서버 상태를 살피지 않으니, 어느 한 서버가 유독 무거운 요청을 연달아 받아도 그것을 알아채지 못한다.

2.3. 동적 알고리즘 — 서버 형편을 보고 정한다

각 서버의 지금 상태를 살펴 그때그때 목적지를 정하는 방식이다. 연결 수가 가장 적은 서버로 보내는 최소 연결, 응답이 가장 빠른 서버로 보내는 최소 응답시간 방식이 여기 든다. 정해진 순서가 아니라 서버의 현재 형편을 근거로 삼는다는 점이 정적 방식과 갈리는 지점이다.3

2.4. 배분 장치의 단일 장애점

로드밸런싱은 요청이 지나는 길목에 배분 장치를 둔다. 그런데 모든 요청이 이 한 지점을 거친다면, 그 지점이 멈추는 순간 뒤에 정상 서버가 아무리 많아도 요청이 닿지 못한다. 몰림을 풀려던 장치가 도리어 단일 장애점이 되는 셈이다. 그래서 이 한 지점이 도리어 전체를 멈추게 하는 약점이 되지 않는지까지 함께 살펴야 한다.4

3. 수능에서는 이렇게 나온다

평가원은 로드밸런싱을 '요청이 어떻게 흘러가는가'라는 과정으로 낸다. 구체적인 출제 이력은 아래 위젯을 참조하라. 이런 각도로 나온다.

  • 단계 관계: 요청 → 배분 → 처리 → 응답으로 이어지는 흐름을 제시하고 각 단계가 하는 일을 묻는다.
  • 비교·대조: 정적(순서·주소 기반)과 동적(상태 기반)을 맞세워 무엇을 기준 삼아 서버를 고르는지의 차이를 판정하게 한다. '서버 상태를 보는가 아닌가'가 가르는 선이다.
  • 목적-수단 인과: '한 서버로는 몰려서 버겁다'는 문제와 '요청을 나눠 보낸다'는 해법을 잇고, 그 결과 처리량·가용성이 오른다는 인과를 확인한다.

4. 헷갈리기 쉬운 것들

흔한 오해 왜 틀렸나 바르게 이해하기
로드밸런싱은 그저 차례대로 하나씩 나눠 주는 것이다 차례로 돌리는 정적 방식이 전부가 아니다. 서버의 연결 수나 응답 속도를 살펴 정하는 동적 방식이 더 있다 '정해진 규칙대로'인지 '서버 상태를 보고'인지로 정적과 동적을 가른다
로드밸런서만 붙이면 서버가 고장 나도 저절로 안전하다 배분 장치가 한 지점에 몰려 있으면 그 장치가 멈추는 순간 전체가 막힌다 배분 장치 자신도 멈출 수 있으니, 이 한 지점이 새로운 단일 장애점이 되지 않는지까지 살펴야 한다
로드밸런싱은 요청만 고르게 나눌 뿐 서버 고장과는 상관없다 고장 난 서버는 배분 대상에서 빼고 살아 있는 서버로만 요청을 돌린다 요청을 고르게 나눠 처리량을 키우는 일과, 죽은 서버를 빼 가용성을 지키는 일을 함께 하는 기법으로 읽는다

5. 관련 개념

  • 분산 시스템 — 요청 분배로 성능과 가용성을 얻는 상위 구조
  • 캐시 메모리 — 요청을 '나누는' 로드밸런싱과 짝을 이뤄 '반복을 더는' 성능 기법
  • 마스터-슬레이브 구조 — 배분 장치가 한 지점에 몰리는 단일 장애점 문제가 마스터 집중의 약점과 닮았다
  • 샤딩과 복제 — 데이터를 나누는 쪽이 샤딩이라면, 요청을 나누는 쪽이 로드밸런싱이다
  • 인터넷 주소 체계 — 요청자의 IP를 기준으로 서버를 고르는 IP 해시 방식과 맞닿아 있다

각주

  1. 정의와 알고리즘 분류는 평가원 기출 기반 배경지식 자료(기술·분산 시스템)의 심화 합성 자료를 따랐다.

  2. 로드밸런싱이 노리는 것은 둘로 나뉜다. 서버를 더 붙인 만큼 처리량을 키우는 '확장성'과, 한 대가 죽어도 남은 서버로 이어 가는 '가용성'이다. 지문이 이 둘 중 무엇에 무게를 싣는지 짚어 두면 목적-수단 문항의 방향이 잡힌다.

  3. 정적이냐 동적이냐를 가르는 한마디는 '서버 상태를 보느냐'다. 라운드로빈·IP 해시는 상태를 안 보고(정적), 최소 연결·최소 응답시간은 보고(동적) 정한다 — 이 한 줄이 비교 문항의 열쇠다.

  4. '요청을 나눠 주면 무조건 안전하다'고 방심하기 쉽지만, 나눠 주는 장치 자신이 멈추면 도로 아미타불이다. 배분 장치가 한 지점뿐이면 그 자체가 새로운 단일 장애점이 될 수 있다는 것이 고난도 선지의 숨은 포인트다.

출제 사례(아직 매칭된 출제 기록이 없어요)

이 개념이 어느 시험·지문에 등장했는지의 기록입니다. 개념 자체의 난이도가 아니라 출제 맥락을 보여줍니다.

출제 기록이 확인되면 여기에 시험·지문·문항이 채워집니다.

이 문서를 가리키는 문서

잘못된 내용을 발견하셨나요? 신고해 주시면 검토 후 반영합니다.

다음 단계

이 개념, 실제 지문에서 훈련하기

수능특강·기출 지문 해설로 개념이 문항에서 어떻게 쓰이는지 직접 확인해보세요.

학습 자료 보러가기