2010-09-29 29 views
2

J'essaie de comprendre comment fonctionne le hachage cohérent. Ceci est l'article que je suis en train de follow mais pas en mesure de suivre, pour commencer mes questions sont les suivantes:Comment fonctionne le hachage cohérent?

  1. Je comprends, les serveurs sont mises en correspondance dans les gammes de hashcodes et la distribution des données est plus fixe et regard devient facile. Mais comment cela traite-t-il le problème d'un nouveau noeud est ajouté dans le cluster?

  2. L'exemple de code Java ne fonctionne pas, toute suggestion d'un java basé sur un hachage cohérent.

Mise à jour

  1. Toute solution de rechange hashage cohérent?

Répondre

1

Je vais répondre à la première partie de votre question. Tout d'abord, il y a quelques erreurs dans ce code, donc je chercherais un meilleur exemple. Utilisation d'un serveur de cache comme exemple ici

Lorsque vous pensez à un hachage cohérent, vous devriez le considérer comme un anneau circulaire, comme le fait l'article auquel vous avez lié. Quand un nouveau serveur est ajouté, il n'aura aucune donnée dessus pour commencer. Lorsqu'un client récupère des données qui devraient être sur ce serveur et ne le trouve pas, un cache-miss se produira. Le programme devrait ensuite remplir les données sur le nouveau nœud, de sorte que les futures demandes seront un hit-cache. Et c'est à ce sujet, du point de vue de la mise en cache.