Да, поверх Kafka можно построить request-response с correlation ID и каналом ответов. Это прикладной протокол: подтверждение записи сообщения брокером не равно подтверждению бизнес-обработки.
Возможно ли реализовать модель request-response через Kafka, чтобы получить подтверждение обработки?
Да, поверх Kafka можно построить request-response с correlation ID и каналом ответов. Это прикладной протокол: подтверждение записи сообщения брокером не равно подтверждению бизнес-обработки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Да, поверх Kafka можно построить request-response с correlation ID и каналом ответов. Это прикладной протокол: подтверждение записи сообщения брокером не равно подтверждению бизнес-обработки.
Запрос несёт идентификатор и информацию для маршрутизации ответа. Обработчик публикует результат, а ожидающая сторона сопоставляет его с запросом. Нужны таймаут, хранение состояния ожидания, обработка дублей, поздних ответов и перезапуска. Для долгой операции часто проще вернуть клиенту ID и дать получать статус отдельно, не удерживая синхронный запрос.