Встречается на 2% собеседований по Java

Стоит ли везде применять Kafka

Kafka — мощный инструмент для обработки потоков данных, но не всегда оправдан.

Когда использовать:

  • Асинхронная обработка событий (например, логи, платежи, уведомления).
  • Высокая нагрузка и горизонтальное масштабирование.
  • Гарантия доставки и отказоустойчивость.

Когда не стоит:

  • Простые синхронные запросы (REST API).
  • Низкая нагрузка (усложняет архитектуру).
  • Требуется строгая последовательность сообщений (Kafka обеспечивает порядок только в пределах партиции).

Пример:

java
// Producer  
props.put("bootstrap.servers", "localhost:9092");  
Producer<String, String> producer = new KafkaProducer<>(props);  
producer.send(new ProducerRecord<>("orders", "order123", "New order"));  

// Consumer  
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);  
consumer.subscribe(Collections.singletonList("orders"));  
while (true) {  
    ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));  
    for (ConsumerRecord<String, String> record : records) {  
        System.out.println(record.value());  
    }  
}  

Выбирайте Kafka осознанно, учитывая сложность и требования проекта.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы