Senior
Have you configured Kafka Consumer? What settings do you know?
sobes.tech AI
Answer from AI
When configuring a Kafka Consumer in Java, the following key parameters are usually set:
- bootstrap.servers — addresses of Kafka brokers for connection.
- group.id — consumer group identifier for load balancing.
- key.deserializer and value.deserializer — classes for deserializing message keys and values.
- auto.offset.reset — behavior when no offsets are present (e.g., "earliest" or "latest").
- enable.auto.commit — automatic offset committing (usually false for manual control).
- max.poll.records — maximum number of messages retrieved per poll() call.
- session.timeout.ms and heartbeat.interval.ms — parameters for detecting consumer failures.
Example of basic configuration:
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "my-group");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("auto.offset.reset", "earliest");
props.put("enable.auto.commit", "false");
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList("my-topic"));
It is also important to configure error handling, offset management, and optimize parameters for performance and reliability.