Sobes.tech
Назад к вопросам
Junior — Middle
63

Насколько хорошо ты ориентируешься в Apache Kafka и можешь ли объяснить его основные принципы работы?

Компании, где спрашивали
РЖДРЖД

Ответ от нейросети

sobes.tech AI

Apache Kafka — это распределённая платформа потоковой передачи данных, которая используется для построения систем обработки событий в реальном времени. Основные принципы работы Kafka:

  • Топики (Topics) — логические каналы, куда публикуются сообщения.
  • Продюсеры (Producers) — приложения, которые отправляют сообщения в топики.
  • Консьюмеры (Consumers) — приложения, которые читают сообщения из топиков.
  • Брокеры (Brokers) — серверы, которые хранят и передают сообщения.
  • Партиции (Partitions) — топики разбиваются на партиции для масштабирования и параллельной обработки.
  • Смещения (Offsets) — уникальные идентификаторы сообщений в партиции, которые позволяют консьюмерам отслеживать, какие сообщения они уже прочитали.

Kafka обеспечивает высокую производительность, отказоустойчивость и масштабируемость за счёт репликации данных и распределённой архитектуры.

Пример простого продюсера на Java с использованием Kafka Producer API:

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");

KafkaProducer<String, String> producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<>("my-topic", "key1", "Hello Kafka"));
producer.close();