Расскажи про опыт работы с Kafka

«Расскажи про опыт работы с Kafka» — вопрос из категории Брокеры сообщений, который задают на 33% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Имею опыт работы с Apache Kafka в качестве брокера сообщений для обработки событий в реальном времени. Настраивал кластеры Kafka, оптимизировал производительность через тюнинг параметров (например, num.partitions, log.retention.ms).

Работал с Kafka Connect для интеграции с внешними системами (например, PostgreSQL через Debezium). Также использовал Kafka Streams для обработки потоков данных.

Пример простого продюсера на 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<>("test-topic", "key", "value"));
producer.close();

Опыт включает мониторинг через Prometheus + Grafana и устранение проблем (например, rebalance lag).