Временные ряды для потоковых приложений
Мы разрабатываем приложение для конвейера данных, используя Kafka, Storm и Redis. События реального времени из разных систем будут опубликованы в Kafka, и шторм выполнит обработку событий на основе настроенных правил. Государство управляется в Redis.
у нас есть требование реализовать разные WAIT_TIME перед обработкой для разных событий. мы смотрим на следующие варианты.
Мы изначально смотрели на штормовые окна [скользящее или переворачивающееся окно], но предоставили возможность только настраивать фиксированные интервалы. нам нужно варьировать время ожидания в зависимости от правил
мы исследуем другие варианты хранения событий в кэше redis для различной продолжительности [TTL], и после того, как каждое событие будет удалено, нам потребуется обратный вызов для штурма для его обработки.
Поддерживает ли Redis обратный вызов при выселении? Есть ли лучший способ сделать это с штормом и Redis?
1 ответ
Мы решили проблему, рассчитав время истечения для каждого потокового события и сохранив события в redis против времени истечения [expiry в качестве ключа], в топовом штормовом планировщике запросим события, которые соответствуют требованиям для выселения, и обработаем его.