Podemos utilizar un esquema hash que correlacione las claves con un conjunto fijo de particiones. Por ejemplo, se puede utilizar un algoritmo hash normal que obtenga la clave y la convierta en un entero. Este tipo de función hash normalmente devuelve un entero de 32 bits o 64 bits, lo que en general produce un espacio de particiones demasiado grande. En su lugar, aplique un módulo al hash generado para limitar el número total de particiones. Por ejemplo, aplique hash a la clave y utilice 128 como el módulo (número de particiones). La aplicación creará 128 particiones, la primera llamada 0 y la última llamada 127 (128 en total). Esta es una buena solución, ya que el patrón puede escalarse hasta 128 miembros de clúster, antes de tener más servidores que particiones.
Otro enfoque es utilizar rangos. Continúa siendo una forma de hash. Las particiones se podrían denominar A-F, G-N, O-R, S-Z. El POJO de direccionamiento examinará la clave de la petición y devolverá una serie para cada uno de estos rangos.
Related concepts
Patrones de particiones de datos