Repaso
English
Diseño de sistemasAvanzadoSD-08

¿Por qué usar consistent hashing para repartir claves entre nodos de caché?

Opciones

  1. Cifra las claves guardadas en la caché
  2. Un cambio de nodo reasigna solo cerca de 1/N de las claves (Opción correcta)
  3. Garantiza un equilibrio perfecto sin nodos virtuales
  4. Elimina por completo la necesidad de replicación

Respuesta

Añadir o quitar un nodo reasigna solo cerca de 1/N de las claves en lugar de casi todas

Por qué

Con hash(key) % N, añadir un servidor cambia N, así que casi todas las claves pasan de golpe a otro servidor: en la práctica se pierde toda la caché.

Consistent hashing coloca servidores y claves en un círculo; cada clave va al siguiente servidor en sentido horario. Añadir un servidor solo le da las claves entre él y su vecino, cerca de 1/N.

Los 'nodos virtuales' (varios puntos por servidor) reparten la carga de forma uniforme.

Recuerda

Consistent hashing = añadir un nodo mueve pocas claves.

Términos clave

Practica esta pregunta en Repaso