Heim  >  Artikel  >  Was ist der konsistente HASH-Algorithmus?

Was ist der konsistente HASH-Algorithmus?

Guanhui
GuanhuiOriginal
2020-06-17 11:45:484699Durchsuche

Was ist der konsistente HASH-Algorithmus?

Was ist der konsistente HASH-Algorithmus?

Der konsistente HASH-Algorithmus ist ein spezieller HASH-Algorithmus, der das Problem des verteilten Cachings lösen soll. Beim Entfernen oder Hinzufügen eines Servers können vorhandene Dienste so wenig wie möglich geändert werden. Zuordnungsbeziehung zwischen Anforderungen und Server, die die Anfragen bearbeiten.

Hash-Algorithmus-Anpassungsbedingungen

Balance

Balance bedeutet, dass das Hash-Ergebnis so weit wie möglich auf alle Puffer verteilt werden kann, sodass alle Puffer Platz genutzt werden kann. Viele Hashing-Algorithmen können diese Bedingung erfüllen.

Monotonie (Monotonie)

Monotonie bedeutet, dass, wenn ein Teil des Inhalts bereits durch Hashing an den entsprechenden Puffer verteilt wurde und dem System ein neuer Puffer hinzugefügt wird, der Hash das Ergebnis sein sollte kann sicherstellen, dass der ursprünglich zugewiesene Inhalt dem neuen Puffer zugeordnet werden kann und nicht anderen Puffern im alten Puffersatz zugeordnet wird. (Diese Übersetzungsinformationen haben einen negativen Wert. Konsistentes Hashing versucht zu verhindern, dass der zugewiesene Inhalt dem neuen Puffer neu zugeordnet wird, wenn sich die Puffergröße ändert.)

Dispersion (Spread)

In einer verteilten Umgebung sieht das Terminal möglicherweise nicht alle Puffer, sondern nur einen Teil davon. Wenn ein Terminal durch den Hashing-Prozess Inhalte einem Puffer zuordnen möchte, kann der von verschiedenen Terminals erkannte Pufferbereich unterschiedlich sein, was zu inkonsistenten Hash-Ergebnissen führt. Das Endergebnis ist, dass derselbe Inhalt von verschiedenen Terminals auf verschiedene Puffer abgebildet wird der Puffer. Diese Situation sollte natürlich vermieden werden, da sie dazu führt, dass derselbe Inhalt in verschiedenen Puffern gespeichert wird, was die Effizienz der Systemspeicherung verringert. Unter Streuung versteht man die Schwere der oben genannten Ereignisse. Ein guter Hash-Algorithmus sollte in der Lage sein, Inkonsistenzen so weit wie möglich zu vermeiden, also die Streuung so weit wie möglich zu reduzieren.

Last

Das Lastproblem betrachtet das Ausbreitungsproblem tatsächlich aus einem anderen Blickwinkel. Da verschiedene Terminals möglicherweise denselben Inhalt unterschiedlichen Puffern zuordnen, kann ein bestimmter Puffer auch von verschiedenen Benutzern unterschiedlichen Inhalten zugeordnet werden. Wie bei der Streuung sollte diese Situation vermieden werden, daher sollte ein guter Hashing-Algorithmus die Belastung des Puffers minimieren.

Empfohlenes Tutorial: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der konsistente HASH-Algorithmus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Welcher Datentyp ist Variant?Nächster Artikel:Welcher Datentyp ist Variant?