Получить раздел выходной записи в потоках Кафки

#apache-kafka #apache-kafka-streams

Вопрос:

У меня есть KStream, который ветвится и записывает выходные записи в разные темы на основе некоторой внутренней логики. Есть ли какой-либо способ узнать раздел выходного сообщения из потока K? Выходные темы имеют разное количество разделов по сравнению с входными.

Комментарии:

1. IIRC, темы ввода и вывода требуют совпадения количества разделов (или, может быть, это только для соединений). Что вы планируете делать с номером раздела?

Ответ №1:

При использовании DSL высокого уровня у вас нет доступа к метаданным записи (которые содержат пару ключ/значение в определенном разделе, из которого была получена запись). Таким образом, вы не сможете достичь цели с помощью реализации KStream.

При желании вы можете использовать низкоуровневый API процессора, который позволит получить доступ к метаданным. В противном случае вы можете добавить реализацию ConsumerInterceptor и сопоставить значение раздела с сообщением, прежде чем оно отправится потребителю.