2017-03-31 43 views

回答

0

您可以使用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)); 

希望這有助於。

2

創建生產者時,可以爲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); 
相關問題