Maison >Problème commun >Qu'est-ce que l'algorithme HASH cohérent ?
Qu'est-ce que l'algorithme HASH cohérent ?
L'algorithme HASH cohérent est un algorithme HASH spécial conçu pour résoudre le problème de la mise en cache distribuée lors de la suppression ou de l'ajout d'un serveur, les services existants peuvent être modifiés le moins possible. Relation de mappage entre les requêtes et. serveurs qui gèrent les requêtes.
Conditions d'adaptation de l'algorithme de hachage
Équilibre
Équilibre signifie que le résultat du hachage peut être distribué à tous les tampons autant que possible, de sorte que tous les tampons l'espace peut être utilisé. De nombreux algorithmes de hachage peuvent satisfaire cette condition.
Monotonicité (Monotonicité)
La monotonie signifie que si du contenu a déjà été distribué au tampon correspondant par hachage et qu'un nouveau tampon est ajouté au système, alors le hachage Le résultat devrait être capable de garantir que le contenu alloué d'origine peut être mappé sur le nouveau tampon et ne sera pas mappé sur d'autres tampons de l'ancien ensemble de tampons. (Ces informations de traduction ont une valeur négative. Un hachage cohérent tente de protéger le contenu alloué contre le remappage vers le nouveau tampon lorsque la taille du tampon change.)
Dispersion (spread)
Dans un environnement distribué Dans cet environnement, le terminal peut ne pas voir tous les tampons, mais seulement une partie d'entre eux. Lorsqu'un terminal espère mapper du contenu sur un tampon via le processus de hachage, la plage de tampon vue par différents terminaux peut être différente, ce qui entraîne des résultats de hachage incohérents. Le résultat final est que le même contenu est mappé sur différents tampons par différents terminaux. le tampon. Cette situation doit évidemment être évitée, car elle entraîne le stockage du même contenu dans des tampons différents, réduisant ainsi l'efficacité du stockage du système. La dispersion est définie comme la gravité des événements ci-dessus. Un bon algorithme de hachage doit être capable d’éviter autant que possible les incohérences, c’est-à-dire de réduire autant que possible la dispersion.
Charge
Le problème de charge consiste en fait à examiner le problème de dispersion sous un autre angle. Étant donné que différents terminaux peuvent mapper le même contenu sur différents tampons, un tampon spécifique peut également être mappé sur un contenu différent par différents utilisateurs. Comme la dispersion, cette situation doit être évitée, donc un bon algorithme de hachage doit minimiser la charge sur le tampon.
Tutoriel recommandé : "Tutoriel PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!