Consistent-Hashing-Ring

Consistent-Hashing-Ring mit virtuellen Knoten: Schlüsselverteilung, Lastbalance und wie wenige Schlüssel bei Beitritt oder Austritt eines Knotens wandern — im Vergleich zu einfachem Modulo-Hashing.

Über dieses Tool

Erkunde die Schlüsselplatzierung, wenn ein Cluster wächst oder schrumpft. 1–400 virtuelle Tokens je Knoten und 1.000–200.000 Testschlüssel wählen, dann Ring anzeigen. Mit einem Token beginnen und ungleiche Bereiche sehen; mit 64 vergleichen. Knoten hinzufügen oder in der Verteilungstabelle entfernen. Farben bleiben an Knotennamen gebunden. Token-/Testmengenänderungen löschen Ergebnisse; Zurücksetzen stellt alle Vorgaben wieder her.

Ein Schlüssel gehört zum ersten Token im Uhrzeigersinn, einschließlich eines exakt gleichen Hashpunkts; hinter dem letzten Token geht es zum ersten weiter. Jeder Bogen gehört dem Knoten seines End-Tokens. Die Tabelle zählt Primärbesitzer, keine Kopien oder Anfragen. Höchste Last ist der größte Schlüsselbestand geteilt durch den Mittelwert; Streuung ist die Populationsstandardabweichung geteilt durch denselben Mittelwert. Mehr Tokens verbessern die Balance tendenziell, aber nicht zwingend monoton für jede endliche Testmenge.

Nach einer Mitgliedschaftsänderung die wirklich gewanderten Schlüssel mit hash(key) modulo Knotenzahl vergleichen, anhand derselben vollständigen Testmenge und derselben Knotennamen vor/nachher. Hinzufügen bewegt nur Schlüssel zum neuen Knoten; Entfernen nur zuvor dort liegende Schlüssel. 1/n verwendet die größere Clustergröße: Erwartungswert bei gleichmäßiger Platzierung, kein theoretisches Minimum und kein garantiertes Messergebnis. Aufklappbare Beispiele zeigen bis zu acht gewanderte Schlüssel.

Einen Schlüssel eingeben, um Position und verschiedene Zielknoten im Uhrzeigersinn zu prüfen. Replikationsfaktor 1–16 enthält den Primärknoten; fehlende Kopien werden angezeigt, nicht durch doppelte Knoten ersetzt. Browser-Lehrmodell mit 32-Bit-FNV-artiger Mischung von JavaScript-Zeicheneinheiten plus Murmur-Abschluss, kein interoperabler Standard-Bytehash oder Sicherheitshash. Keine Gewichte, Hot-Key-Anfragen, Ausfälle, Replikattransfers, Quoren oder vollständige Dynamo-Implementierung. Suche O(log T), Verteilung O(K log T) nach Tokensortierung. Das Dynamo-Paper §§4.2–4.3 belegt Ringbesitz, virtuelle Tokens und das Überspringen gleicher physischer Knoten; dessen MD5 und Produktionssystem werden hier nicht nachgebaut.