Обрабатывать сложные события
У меня есть поток отдельных событий, поступающих в мою систему, и мне нужно применять правила, основанные на содержании каждого события. Также я хочу применить сложную обработку событий к этим событиям потока.
Ограничения 1. Эти правила предоставляются пользователем и будут меняться динамически. 2. Я не хочу перезапускать мою систему всякий раз, когда применяется правило. 3. HA 4. Только зрелые решения с открытым исходным кодом
Возможные пути..
1. Запустите Esper CEP внутри штормового болта
2. Пускали слюни внутрь Штормового болта
Это сделало бы обработку единственного правила события так же как сложные события? Будут ли изменения правил потребовать перезагрузки моего шторма?
Могу ли я динамически вставлять правила в штормовые болты?
Другие решения? Спарк?
1 ответ
И Drools, и Esper могут динамически внедрять правила и не требуют перезапуска Storm или JVM.
Как Esper, так и Drools Fusion могут обрабатывать сложные события, как правило, с разными компромиссами.
В том же домене решения для распределенной обработки потоков находятся Spark Streaming, Storm, Yahoo S4 и Apache Samza. Любой из них может быть использован для размещения Esper/Drools. Я думаю, что для Storm, поскольку он воспроизводит кортежи, вы должны либо де-дублировать их перед отправкой в Drools/Esper, либо разрабатывать свои непрерывные запросы, ожидая возможных повторных доставок.