我知道配额是基于
如何为特定的生产者或分区分配
client-id
的。基本上,我想使用特定的客户端ID运行kafka-producer-perf-test
来测试配额是否正常工作。如何为特定的生产者或分区分配
client-id
?client-id
的。基本上,我想使用特定的客户端ID运行kafka-producer-perf-test
来测试配额是否正常工作。client-id
?创建生产者时,可以为client.id
属性分配唯一值。
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("client.id", "testclient001");
//set any additional properties.
Producer<String, GenericRecord> producer = new KafkaProducer<String, GenericRecord>(props);
您可以使用ProducerRecord
指定要发送消息的分区,例如分区0。创建KafkaConsumer
并将消费者分配给特定分区(在此示例中为分区0)。这将确保生产者和消费者(具有给定的客户端ID)都在主题的相同分区ID上工作。
ProducerRecord(java.lang.String topic, ava.lang.Integer partition, K key, V value)
向分区0发送消息
ProducerRecord<byte[],byte[]> record = new ProducerRecord<byte[],byte[]>("PerftestTopic", 0, key, value)
producer.send(record);
消费者从特定分区读取
TopicPartition partition0 = new TopicPartition("PerftestTopic", 0);
consumer.assign(Arrays.asList(partition0));