DefaultPartitioner
использует функцию murmur3
для вычисления раздела для сообщений с ненулевыми ключами.
Вы можете просто извлечь алгоритм и добавить его в свой код:
import org.apache.kafka.common.utils.Utils;
Utils.toPositive(Utils.murmur2(keyBytes)) % numPartitions;
Второй вариант - просто использовать DefaultPartitioner
:
DefaultPartitioner partitioner = new DefaultPartitioner();
int partition = partitioner.partition(???, ???, ???, ???, ???, ???);