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

Как происходит доставка сообщения в Kafka

В Kafka сообщения отправляются продюсерами в топики, которые разделены на партиции для масштабируемости. Каждое сообщение записывается в партицию с учетом ключа (если есть) или по round-robin (если ключ null).

Брокер сохраняет сообщения в партиции последовательно (append-only лог) и реплицирует их на другие брокеры (replica-factor). Потребители (consumers) читают сообщения из партиций, отслеживая свою позицию (offset).

Пример отправки сообщения:

java
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

Producer<String, String> producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<>("my-topic", "key", "value"));
producer.close();

Гарантии доставки зависят от acks (0 - нет гарантии, 1 - лидер подтвердил, all - все реплики подтвердили).

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

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

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

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