로드 밸런서(Load Balancer)란?

이용자의 요청을 여러 서버로 분배하여 부하를 분산하는 장치나 소프트웨어. 부하 분산 장치라고도 한다. 각 서버의 상태를 정기적으로 확인하고(헬스 체크) 고장 난 서버를 분배 대상에서 제외하므로 이중화의 역할도 한다. 로드 밸런서 자체도 이중화하지 않으면 단일 장애점이 된다.

일본어 명칭: ロードバランサ

로드 밸런서(Load Balancer)은(는) 웹 기술 기초, 시스템 구성과 신뢰성 설계 등 2개 분야의 연습 문제 2개에 나와요.

분야: 시스템 구성과 신뢰성 설계

도전해 보기: 로드 밸런서(Load Balancer) 관련 문제

로드 밸런서 뒤에 애플리케이션 서버 3대를 두고, 요청을 차례로 각 서버에 분배하고 있다(라운드 로빈). 로그인한 이용자의 세션 정보는 로그인을 처리한 서버의 메모리에만 저장하고 있다. 일어나기 쉬운 문제와 대책의 조합으로 적절한 것은?

  1. A다른 서버로 분배되면 세션을 찾지 못해 로그인이 끊긴 것처럼 보인다. 세션을 모든 서버가 사용할 수 있는 공유 장소에 둔다
  2. B서버 3대가 같은 세션 ID를 따로따로 발급하여 충돌한다. 세션 ID를 짧은 일련번호로 하여 이용자가 ID를 기억하기 쉽게 한다
  3. C로드 밸런서는 Cookie를 읽을 수 없으므로 HTTPS를 사용할 수 없게 된다. 로드 밸런서와 서버 사이의 통신을 암호화하지 않도록 한다
정답과 해설 보기

정답: A. 다른 서버로 분배되면 세션을 찾지 못해 로그인이 끊긴 것처럼 보인다. 세션을 모든 서버가 사용할 수 있는 공유 장소에 둔다

세션 정보가 서버 한 대의 메모리에만 있으면, 다음 요청이 다른 서버로 분배되었을 때 그 서버는 이용자를 구별할 수 없습니다. 대책 중 하나는 세션을 어느 서버에서든 읽고 쓸 수 있는 공유 저장소(인메모리 데이터 스토어나 데이터베이스)에 두는 것입니다. 또 하나는 같은 이용자의 요청을 계속 같은 서버로 분배하는 세션 유지(스티키 세션)이지만, 그 서버가 멈추면 세션이 사라지고 부하도 치우치기 쉬워집니다. 서버가 상태를 가지지 않게 해 두면 서버 대수를 늘리거나 줄이기 쉬워집니다.

2대의 로드 밸런서(부하 분산 장치)를 이중화하고, 그 아래에 웹 서버를 3대 두며, 모든 웹 서버가 1대의 데이터베이스 서버를 사용하는 시스템이 있다. 여기에 든 기기 중 단일 장애점(그곳이 멈추면 시스템 전체가 멈추는 곳)이 되는 것은?

  1. A로드 밸런서
  2. B웹 서버
  3. C데이터베이스 서버
정답과 해설 보기

정답: C. 데이터베이스 서버

단일 장애점(SPOF)은 그곳 1곳이 멈추기만 해도 시스템 전체가 멈춰 버리는 곳입니다. 로드 밸런서는 2대로 이중화되어 있고, 웹 서버는 3대가 있으며 로드 밸런서가 고장 난 서버를 분배 대상에서 제외할 수 있으므로, 어느 1대가 멈춰도 처리를 계속할 수 있습니다. 데이터베이스 서버는 1대뿐이고 모든 웹 서버가 사용하므로, 멈추면 시스템 전체가 멈춥니다. 데이터베이스 서버도 클러스터 구성 등으로 이중화하면 이 단일 장애점을 없앨 수 있습니다.

해설 속 로드 밸런서(Load Balancer)

로드 밸런서(Load Balancer)이(가) 나오는 문제 (2)

  1. 로드 밸런서 뒤에 애플리케이션 서버 3대를 두고, 요청을 차례로 각 서버에 분배하고 있다(라운드 로빈). 로그인한 이용자의 세션 정보는 로그인을 처리한 서버의 메모리에만 저장하고 있다. 일어나기 쉬운 문제와 대책의 조합으로 적절한 것은?
  2. 2대의 로드 밸런서(부하 분산 장치)를 이중화하고, 그 아래에 웹 서버를 3대 두며, 모든 웹 서버가 1대의 데이터베이스 서버를 사용하는 시스템이 있다. 여기에 든 기기 중 단일 장애점(그곳이 멈추면 시스템 전체가 멈추는 곳)이 되는 것은?

관련 용어

단일 장애점(SPOF) 듀얼 시스템(Dual System) 듀플렉스 시스템(Duplex System) 스케일 아웃(Scale-out) 증분 백업(Incremental Backup) 차등 백업(Differential Backup) 페일 세이프(Fail-safe) 페일 소프트(Fail-soft) 폴트 톨러런스(Fault Tolerance) 풀 프루프(Fool-proof)

용어집으로 돌아가기