Load Balancer Pool Distribution Analyzer
Load Balancer Pool Verteilungsanalyse
Simuliert, wie verschiedene Load-Balancing-Algorithmen den Verkehr auf die Pool-Mitglieder verteilen. Modelliert Ausfallszenarien und vergleicht die Neuverteilungs-Effizienz.
Verkehrsaufkommen
Pool-Mitglieder
Ausfallszenario-Simulation
Funktionsweise: Client-IPs werden aus einem /16 Subnetz (10.0.0.0/16) entnommen.
Bei quellenbasiertem Hashing wird jeder eindeutige Client-IP deterministisch einem Mitglied zugeordnet.
Round robin ignoriert die Client-IP und verteilt sequenziell. Weighted verwendet eine proportionale
Zufallszuweisung. Consistent hashing platziert sowohl Clients als auch Mitglieder auf einem virtuellen Ring.
Pool-Mitglieder
| ID | IP:Port | Gewicht | Status | Aktionen |
|---|
Verteilungsergebnisse
Sitzungsverteilung pro Mitglied
Ausfallszenario-Neuzuordnung-Analyse
Consistent Hash Ring
Den Ring lesen: Jedes Mitglied wird an mehreren Punkten um den Ring platziert
(virtuelle Knoten). Eine Client-IP wird auf eine Position auf dem Ring gehasht, und die Anfrage wird
zum nächstgelegenen Mitglied im Uhrzeigersinn gesendet. Das Hinzufügen oder Entfernen eines Mitglieds betrifft
nur den Bogen des Rings, den es besaß — was die Störung der Sitzungen minimiert.
Algorithmus-Referenz
Round Robin
Sitzungen werden sequenziell zugewiesen: Mitglied 1, 2, 3, ..., N, 1, 2, ... Jedes Mitglied
erhält genau 1/N aller Anfragen. Ignoriert Serverkapazität und Client-Affinität.
Einfach und vorhersagbar, versagt jedoch bei heterogener Hardware.
Source IP Hash
Ein Hash der Client-IP modulo die Anzahl der Mitglieder wählt das Backend. Derselbe Client
erreicht immer dasselbe Mitglied – nützlich für zustandsbehaftete Anwendungen. Das Hinzufügen oder Entfernen
eines Mitglieds mischt all Client-Zuordnungen neu (N ändern zu (N-1)/N aller Sitzungen).
Weighted
Jedes Mitglied erhält einen Anteil, der proportional zu seinem Gewicht im Verhältnis zum gesamten Gewichtspool ist. Ein Mitglied mit Gewicht=4 erhält 4x so viele Sitzungen wie ein Mitglied mit Gewicht=1. Wird verwendet, um heterogene Backend-Kapazitäten zu modellieren (z. B. eine VM gegenüber einem Bare-Metal-Server).
Consistent Hashing
Mitglieder und Clients werden beide über Hashing auf einen kreisförmigen Ring abgebildet. Jeder Client geht
zum nächstgelegenen Mitglied im Uhrzeigersinn auf dem Ring. Virtuelle Knoten (Replikate pro Mitglied)
verbessern die Gleichmäßigkeit der Verteilung. Wenn ein Mitglied ausfällt, wandern nur seine Sitzungen zum
nächsten Mitglied auf dem Ring – 1/N Sitzungen gestört vs. 100% beim Modulo-Hashing.