Frage

Ich versuche zu verstehen, wie konsistente Hashing arbeitet. Dies ist der Gegenstand, den ich versuche zu folgen aber nicht in der Lage zu folgen, mit meinen Fragen zu starten sind:

  1. verstehe ich, Server abgebildet werden in Bereiche von Hashcodes und die Datenverteilung ist mehr fixiert und das Aussehen wird einfach. Aber wie funktioniert diese mit dem Problem ein neuer Knoten in dem Cluster hinzugefügt wird?

  2. Die Probe Java-Code funktioniert nicht, jeder Vorschlag eines einfachen java auf Basis konsistentes Hashing.

Aktualisieren

  1. Jede Alternativen zu konsistente Hashing?
War es hilfreich?

Lösung

Ich werde den ersten Teil Ihrer Frage beantworten. Zunächst einmal gibt es einige Fehler in diesem Code, so dass ich für ein besseres Beispiel aussehen würde.

Unter Verwendung eines Cache-Server als Beispiel hier.

Wenn Sie konsistente Hashing denken, sollten Sie daran denken als Kreisring, wie der Artikel, den Sie verknüpft hat. Wenn ein neuer Server hinzugefügt wird, wird es keine Daten über sie haben zu beginnen. Wenn ein Client Daten abruft, die auf diesem Server sein sollte und es nicht findet, tritt ein Cache-Miss Willen. Das Programm sollte dann in den Daten auf den neuen Knoten füllen, so Anfragen Zukunft werden ein Cache-Hit. Und das ist es, von einer Caching-Sicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top