Você pode utilizar qualquer esquema de hash que mapeia as chaves para um conjunto fixo de partições. Por exemplo, é possível utilizar um algoritmo de hash normal que pega a chave e converte-a em um inteiro. Este tipo de função de hash geralmente retorna um inteiro de 32 bits ou de 64 bits que, em geral, produz um espaço de partições muito grande. Em vez disso, aplique um módulo ao hash gerado para limitar o número total de partições. Por exemplo, é possível efetuar hash da chave e, em seguida, utilizar 128 como o módulo (número de partições). O aplicativo deve criar 128 partições, a primeira denominada 0 e a última denominada 127, portanto, (128 no total). Esta é uma boa solução, já que este padrão possivelmente pode escalar 128 membros de cluster antes de termos mais servidores do que partições.
Outra abordagem é utilizar intervalos. Isto ainda é uma forma de hash. As partições poderiam ser denominadas A-F, G-N, O-R, S-Z. O POJO de roteamento, então, examinaria a chave do pedido e retornaria uma cadeia de um destes intervalos.
Related concepts
Padrões de Particionamento de Dados