Sobes.tech
Back to questions
Senior
6

Как читали сообщения из Kafka: по одному или батчами?

Companies where asked
Octo

Answer from AI

sobes.tech AI

В Java при работе с Kafka обычно читают сообщения батчами, а не по одному.

Это связано с тем, что Kafka оптимизирована для обработки потоков данных, и чтение батчами повышает производительность и снижает накладные расходы на сетевые вызовы.

Пример чтения сообщений батчами с использованием KafkaConsumer:

KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Collections.singletonList("topic"));

while (true) {
    ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
    for (ConsumerRecord<String, String> record : records) {
        System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
    }
}

Здесь poll() возвращает сразу набор сообщений (батч), что позволяет эффективно обрабатывать данные.