로드밸런싱

로드밸런싱은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치 같은 컴퓨터 자원들에게 작업, 즉 부하를 나누는것을 의미한다. 즉, 한 서버가 일을 모두 처리하면 부담이 가니깐 여러 서버로 나누어 작업을 처리하는 것이다.

위 그림에서 로드 밸런서는 클라이언트 요청 및 네트워크의 트래픽이 집중되는 서버들 또는 네트워크 허브 사이에 위치하여 특정 서버 또는 네트워크 허브에 부하가 집중되지 않게 트래픽을 분산시키는 역할

로드밸런싱의 기능

  1. Health Check: 서버 상태를 주기적으로 확인해 장애 서버 제외

  2. Tunneling: 데이터를 안전하게 전달하는 가상 연결 통로

  3. NAT (Network Address Translation): IP 주소 변환을 통한 내부 네트워크 보호

  4. DSR (Destination Network Address Translation): 응답을 클라이언트에 직접 전송해 성능 향상

ICMP: Internet Control Message Protocol

로드밸런싱 알고리즘

  • 라운드로빈: 서버를 순서대로 선택
  • 가중치: 서버 성능에 따라 차등 분배
  • 최소 연결: 연결 수가 적은 서버 우선
  • 응답시간: 가장 빠른 서버 선택

면접: 로드 밸런싱은 여러 서버에 클라이언트 요청을 분산시켜 특정 서버에 부하가 집중되는 것을 방지하는 기술 입니다.

주요 목적은 성능 향상과 고가용성 확보입니다, 한 서버에 장애가 발생해도 다른 서버들이 계속 서비스를 제공할 수 있습니다. 대표적인 알고리즘으로 라운드로빈, 가중치 기반, 최소 연결, 응답시간이 있고 Health Check 기능으로 서버 상태를 실시간 모니터링해서 장애 서버는 자동으로 제외 시킵니다.

실제 대규모 서비스에서 필수적인 기술로, 트래픽 증가 시 서버만 추가하면 되어 확장서도 뛰어납니다.