1

У меня есть случай, когда я получаю события от клиента, и некоторые из этих событий логически связаны (относятся к одному сеансу), и есть определенный порядок между событиями, основанными на отметке времени.Сводная агрегация данных, отсортированная по timestamp

Теперь я хочу создать решение, которое должно было бы продолжать агрегировать события до тех пор, пока последняя из определенной группы не будет получена в возрастающем порядке временной метки. Таким образом, если полученное событие не в порядке, оно должно храниться до тех пор, пока не будут получены события до них. И затем, продолжайте хранить это в хранилище данных, таком как HBase, на основе ключа этой конкретной группы.

Проблема в том, что количество таких неполных групп за один раз может быть в миллионах, и потребуется что-то, что может поддерживать быстрое добавление к неполной группе и сохранение полученных событий неупорядоченными. Как мне это сделать?

+0

Любое небольшое понимание было бы заметным. Благодаря! – ptntialunrlsd

ответ

0

вы можете использовать обработку потока событий или сложные фреймворки обработки событий http://en.wikipedia.org/wiki/Complex_event_processing. вы пишете запрос/шаблон, загружаете его в движок, подаете движок с событиями, и запрос постоянно обновляется или срабатывает, когда придет время.

Мне нравится Codehaus Esper, он с открытым исходным кодом, но ограниченный в неоплаченной версии, мне пришлось реализовать хранение событий и перезагрузить их при запуске приложения, например. другой вариант - Drools Fusion, но я нашел его ошибкой, когда я попробовал его около 5 лет назад. Недавно я смотрел на WSO2 CEP, но эта вещь серьезно недооценена.