KafkaConsumer解析
引言
前面几篇主要针对kafka生产者流程,介绍了主要的类和运作流程,大致流程清晰,有些细节不是很懂,所以一笔带过,水平有限,望读者见谅。
接下来从一个例子进入到kafka消费者的圈子,见识下这个圈子里形形色色的对象。
消费者的hello word
public class KafkaConsumerSimple {
public void consumer(){
String topic = "test";
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "lt");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Collections.singletonList(topic));
while(true){
ConsumerRecords<String, String> records = consumer.poll(Duration.ZERO.plusSeconds(1));
for (ConsumerRecord<String, String> record : records) {
System.out.println("topic: " + record.topic() + " partition:" + record.partition() + " offset:" + record.offset() + " key:" <