Kafka Streams: Lag (задержка), генерируемая вычислениями магазина при ручном соединении - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть топология Kafka Streams, в которой хранилище сеансов создается посредством агрегации DSL.(Все темы здесь разделены на части).

Позже я использую это хранилище из transformValues для другой темы (orders), запрашивая это хранилище, чтобы получить вывод, похожий на соединение, содержащий один заказ иего сеансы.

Тем не менее, хранилище выдает задержки при вычислениях, когда наблюдается некоторый всплеск громкости, а в теме orders - нет.Таким образом, даже если события достигают системы по порядку, order не найдет там свой sessions.

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

Я вижу решение объединения order 'KStream с KStream версиейхранилище сеансов, чтобы иметь возможность действовать как при поступлении order, так и session, генерируя новые версии.

Но это добавляет сложности, а также IIRC объединение создаст дополнительную оконную тему(Я уже использую это хранилище сеансов в других местах, поэтому мне все еще нужно его иметь).

Существуют ли другие стратегии для ее решения и какие компромиссы должны быть сделаны?

...