Как упорядочивается в приложении Kafka Streams

#apache-kafka #apache-kafka-streams

#apache-kafka #apache-kafka-streams

Вопрос:

Я пишу приложение kafka stream, которое будет выполнять преобразование без состояния по нескольким темам и передавать данные в другую тему. Топология будет 1: 1, т.Е. Несколько пар ввода -> вывода с отображением один к одному для каждой пары.

Если я масштабирую это и у меня будет несколько экземпляров этого приложения, что означает, что для одной и той же пары тем в разных экземплярах будет несколько потребителей и производителей, как потоки kafka будут поддерживать упорядочение данных? (или он не поддерживает порядок?)

Технически мне нужно поддерживать порядок данных, поскольку это события журнала, и мне нужно, чтобы они были правильно упорядочены, а не не по порядку в конечном озере данных.

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

1. Сколько разделов имеют темы? Вы не можете гарантировать упорядочение более чем в одном разделе или в нескольких темах

2. Можем ли мы гарантировать упорядочение внутри раздела… несколько производителей и один раздел для каждого производителя. Мне не нужен порядок для всех производителей, но для сообщений от одного производителя при потреблении, преобразовании и повторном создании в потоке kafka должен сохраняться порядок @OneCricketeer

3. Это должно быть хорошо, если вы установите max.in.flight.requests.per.connection=1