我知道配額基於客戶端ID如何將客戶端ID分配給特定的kafka生產者或主題?
基本上我想要運行的卡夫卡生產者 - 穿孔 - 測試與特定客戶ID來測試配額是否正常工作
我的問題是如何能我爲特定的生產者(或)分區分配一個客戶端ID?
我知道配額基於客戶端ID如何將客戶端ID分配給特定的kafka生產者或主題?
基本上我想要運行的卡夫卡生產者 - 穿孔 - 測試與特定客戶ID來測試配額是否正常工作
我的問題是如何能我爲特定的生產者(或)分區分配一個客戶端ID?
您可以使用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));
希望這有助於。
創建生產者時,可以爲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);