부하 분산 알고리즘 유형

부하 분산 장치는 미리 정해진 규칙에 따라 네트워크 트래픽을 라우팅할 위치를 결정합니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • '부하 분산 알고리즘'의 정의
  • 정적 부하 분산 알고리즘과 동적 부하 분산 알고리즘의 구분
  • 이 두 범주에 속하는 알고리즘의 유형 살펴보기

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

Cloudflare Pro 요금제 및 속도 도구 추가 기능으로 웹 사이트 성능 향상

부하 분산 알고리즘이란?

부하 분산 장치는 한 서버에 과부하가 걸리지 않도록 하는 소프트웨어 또는 하드웨어 장치입니다.부하 분산 알고리즘은 부하 분산 장치에서 서버 간에 네트워크 트래픽을 분산하는 데 사용하는 논리입니다(알고리즘은 미리 정의된 규칙의 집합입니다).

부하 분산에 대한 두 가지 주요 접근 방식이 있습니다.동적 부하 분산은 각 서버의 현재 상태를 고려하고 그에 따라 트래픽을 분산하는 알고리즘을 사용합니다.정적 부하 분산은 이러한 조정 없이 트래픽을 분산합니다.일부 정적 알고리즘은 지정된 순서대로 또는 무작위로 그룹의 각 서버에 동일한 양의 트래픽을 전송합니다.

부하 분산 알고리즘에는 어떤 유형이 있을까요?

동적 부하 분산 알고리즘

  • 최소 연결: 현재 가장 적은 개수의 연결이 열려 있는 서버를 확인하고 해당 서버로 트래픽을 보냅니다.이 알고리즘은 모든 연결에 거의 동일한 처리 능력이 필요하다고 가정합니다.
  • 가중치 최소 연결: 일부 서버가 다른 서버보다 더 많은 연결을 처리할 수 있다고 가정하여 관리자가 각 서버에 서로 다른 가중치를 할당할 수 있습니다.
  • 가중치 응답 시간: 각 서버의 응답 시간을 평균하고 이를 각 서버가 열려 있는 연결 개수와 결합하여 트래픽을 전송할 위치를 결정합니다.이 알고리즘은 응답 시간이 가장 빠른 서버로 트래픽을 전송하여 사용자에게 더 빠른 서비스를 보장합니다.
  • 리소스 기반: 각 서버가 현재 사용할 수 있는 리소스에 따라 부하를 분산합니다.각 서버에서 실행되는 특수 소프트웨어( "에이전트"라고 부름)는 해당 서버의 사용 가능한 CPU와 메모리를 측정하고 부하 분산 장치는 해당 서버에 트래픽을 분산하기 전에 에이전트에 쿼리합니다.

정적 부하 분산 알고리즘

  • 라운드 로빈: 라운드 로빈 부하 분산도메인 네임 시스템(DNS)을 사용하여 트래픽을 서버 목록에 돌아가면서 분산합니다.권한 있는 네임서버는 도메인에 대해 서로 다른 A 레코드 목록을 가지고 있으며 각 DNS 쿼리에 대한 응답으로 다른 레코드를 제공합니다.
  • 가중치 라운드 로빈: 관리자가 각 서버에 서로 다른 가중치를 할당할 수 있습니다.더 많은 트래픽을 처리할 수 있다고 판단되는 서버는 약간 더 많은 트래픽을 받게 됩니다.가중치는 DNS 레코드에서 구성할 수 있습니다.
  • IP 해시: 들어오는 트래픽의 출발지 및 목적지 IP 주소를 결합하고 수학 함수를 사용하여 해시로 변환합니다.해시를 기반으로 연결이 특정 서버에 할당됩니다.

Cloudflare Load Balancing은 어떻게 작동할까요?

Cloudflare Load Balancing은 상태 검사를 사용하여 트래픽을 정상 서버로 유도합니다.또한 관리자는 트래픽이 이동해야 하는 거리를 줄이기 위해 지역 트래픽이 처리되는 위치를 사용자 지정할 수 있습니다.이 접근 방식은 전역 서버 부하 분산(GSLB)으로 알려져 있습니다.