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.