package com.ruoyi.receive.kafka.config; import org.apache.kafka.clients.producer.Partitioner; import org.apache.kafka.common.Cluster; import org.apache.kafka.common.PartitionInfo; import java.util.List; import java.util.Map; /** * 自定义分区器 * @Author: JCC * @Date: 2023/8/22 22:25 * @Description: */ public class MyPartitioner implements Partitioner { @Override public int partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster) { List partitionInfos = cluster.partitionsForTopic(topic); int size = partitionInfos.size(); int parId = ((String) value).hashCode() % size; return parId; } @Override public void close() { } @Override public void configure(Map map) { } }