Я только что определил топологию KStreams впервые и хотел бы быстро проверить работоспособность, чтобы убедиться, что я не делаю глупостей (или, если есть лучший способ). По сути, то, что я имею, сводится к:
[input-topic] --> alltime-store
--> thisweek-store --> (logic) --> {new-record} -->[input-topic]
Записи читаются из темы ввода, а затем groupBy()
и Materialized
в два отдельных подсчета хранилища.
thisweek-store
- это windowedBy
определенная длительность и переданная в filter
, которая применяет некоторую логику, примером которой может быть:
if value > 10
then send new-record
Если это не очевидно, на очень высоком уровне я пытаюсь получить бонус, если кто-то делает что-то достаточно раз в неделю.
Можно ли создать такой цикл в вашей топологии?
Единственная очевидная проблема, которую я вижу, это то, что вы можете создать бесконечный цикл; но, надеюсь, это можно предотвратить в блоке [логика].