1 package de.juplo.kafka.chat.backend.api;
3 import lombok.RequiredArgsConstructor;
4 import org.apache.kafka.common.utils.Utils;
9 @RequiredArgsConstructor
10 public class KafkaLikeShardingStrategy implements ShardingStrategy
12 private final int numPartitions;
15 public int selectShard(UUID chatRoomId)
17 byte[] serializedKey = chatRoomId.toString().getBytes();
18 return Utils.toPositive(Utils.murmur2(serializedKey)) % numPartitions;