Load Balancer Pool Distribution Analyzer

로드 밸런서 풀 분산 분석기

다양한 로드 밸런싱 알고리즘이 풀 멤버에 트래픽을 어떻게 분산하는지 시뮬레이션합니다. 장애 시나리오를 모델링하고 재분배 효율성을 비교하십시오.

트래픽 볼륨
풀 멤버
장애 시나리오 시뮬레이션
작동 방식: 클라이언트 IP는 /16 서브넷 (10.0.0.0/16)에서 샘플링됩니다. 소스 기반 해싱의 경우, 각 고유 클라이언트 IP는 멤버에 결정론적으로 매핑됩니다. 라운드 로빈은 클라이언트 IP를 무시하고 순차적으로 분배합니다. 가중치는 비례적 랜덤 할당을 사용합니다. 일관성 해싱은 클라이언트와 멤버 모두를 가상 링에 배치합니다.

풀 멤버

ID IP:Port 가중치 상태 작업

분산 결과

멤버별 세션 분포

장애 재분배 분석

일관성 해시 링

링 읽는 법: 각 멤버는 링 주변의 여러 지점(가상 노드)에 배치됩니다. 클라이언트 IP는 링의 위치로 해싱된 다음, 가장 가까운 시계 방향 멤버로 요청이 전송됩니다. 멤버를 추가하거나 제거할 때, 해당 멤버가 소유한 호(arc)만 영향을 받아 세션 중단이 최소화됩니다.

알고리즘 참고 자료

라운드 로빈
세션은 순차적으로 할당됩니다: 멤버 1, 2, 3, ..., N, 1, 2, ... 각 멤버는 모든 요청의 정확히 1/N을 받습니다. 서버 용량이나 클라이언트 친화도는 무시합니다. 간단하고 예측 가능하지만, 이질적인 하드웨어에서는 심각하게 실패합니다.
소스 IP 해시
클라이언트 IP의 해시를 멤버 수로 나눈 나머지를 사용하여 백엔드를 선택합니다. 동일한 클라이언트는 항상 동일한 멤버에 도달합니다. 상태 저장 애플리케이션에 유용합니다. 멤버를 추가하거나 제거하면 모든 클라이언트 매핑이 재정렬됩니다 (N이 모든 세션의 (N-1)/N으로 변경).
가중치
각 멤버는 전체 가중치 풀에 대한 자신의 가중치에 비례하는 몫을 받습니다. 가중치가 4인 멤버는 가중치가 1인 멤버보다 4배 많은 세션을 받습니다. 이질적인 백엔드 용량(예: VM 대 베어 메탈 서버)을 모델링하는 데 사용됩니다.
일관성 해싱
멤버와 클라이언트 모두 해싱을 통해 순환 링에 매핑됩니다. 각 클라이언트는 링에서 가장 가까운 시계 방향 멤버로 이동합니다. 가상 노드(멤버당 복제본)는 분포 균일도를 개선합니다. 멤버에 장애가 발생하면, 해당 멤버의 세션만 링의 다음 멤버로 이동합니다 — 모듈로 해싱의 경우 100% 손상 대비 1/N의 세션 손상입니다.