Есть ли официальная документация о том, как Kinesis хэширует ключ раздела записи в соответствующем фрагменте? - PullRequest
0 голосов
/ 24 апреля 2020

В настоящее время я работаю с осколками Kinesis и хочу убедиться, что функция хеширования идентична другой шине сообщений, которую я использую. Это означает, что мне нужно написать собственную функцию ha sh для этой другой шины сообщений. Я прочитал следующую документацию для Kinesis: https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html https://docs.aws.amazon.com/cli/latest/reference/kinesis/describe-stream.html

Насколько я понимаю, читая документы, я понимаю, что каждый осколок из n осколков начинается с 0 будет иметь диапазон ключей 2 ^ 128 / n, и ключ раздела каждого события будет хеширован до 128-битного целого числа посредством хеширования md5. Например.

For n partitions (starting from 0):
Partition0 key range:
Starting Hash: 0
Ending Hash: (2^128 / n) - 1
Partition1 key range:
Starting Hash: (2^128 / n)
Ending Hash: 2*(2^128 / n) - 1
...
...
Partition(n-2) key range:
Starting Hash: (n-2)*(2^128 / n)
Ending Hash: (n-1)*(2^128 / n) - 1
Partition(n-1) key range:
Starting Hash: (n-1)*(2^128 / n)
Ending Hash: 2^128 - 1

Есть ли официальная документация или ссылки на этот метод? Я хочу убедиться в правильности моего понимания, изложенного выше, чтобы убедиться, что используемый мной метод идентичен механизму разделения Kinesis.

...