Back to questions
РЖД
Junior — Middle
64
Насколько хорошо ты ориентируешься в Apache Kafka и можешь ли объяснить его основные принципы работы?
Companies where asked
Answer from AI
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();