Встречается на 2% собеседований по Java
Использовал ли Kafka для обращения к сервису
Kafka — это распределённая система обмена сообщениями, а не RPC-фреймворк. Хотя технически можно использовать Kafka для межсервисного взаимодействия (через request-reply паттерн), это не её основное назначение.
Проблемы при использовании Kafka как RPC:
- Высокая латентность (не подходит для синхронных вызовов)
- Усложнение логики (нужно реализовывать корреляцию запросов/ответов)
- Отсутствие встроенных механизмов retry/timeout
Лучшие альтернативы:
- REST/gRPC для синхронных вызовов
- RabbitMQ для асинхронных сценариев
Пример request-reply на Kafka (не рекомендуется):
java
// Producer
producer.send(new ProducerRecord<>("requests", "key", "requestData"));
// Consumer
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
for (ConsumerRecord<String, String> record : records) {
String reply = processRequest(record.value());
producer.send(new ProducerRecord<>("replies_" + record.key(), reply));
} Для сервисного взаимодействия лучше использовать специализированные инструменты. Kafka идеальна для событийных pipelines и потоковой обработки.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы