Коррелятор событий
Коррелятор событий – встроенный в платформу AggreGate инструмент для обработки сложных событий (Complex Event Processing, CEP). Он построен на постоянно обновляемой open source библиотеке Siddhi.
В то время как привязки в основном используются для обработки одиночных событий, коррелятор событий предназначен для работы сразу с группой поступающих событий: последовательность, временное окно, несколько потоков и т.п. Цепочки событий обрабатываются в памяти на лету, без лишних чтений и записей в долговременное хранилище.
Существует множество способов применения коррелятора событий. Среди них:
Выявление заданных закономерностей | Снижение дискретности сигнала |
Отслеживание трендов | Полная и инкрементная агрегация по времени, сессии или определённому числу событий |
Коррелирование нескольких потоков событий | Выявление аномалий и пропущенных событий |
Дедупликация идентичных событий | Применение на лету заранее обученных и онлайн-моделей машинного обучения с поддержкой PMML |
Применение техник throttling и debouncing | Подключение внешних потоков событий |
Коррелятор событий поддерживает не только внутренние события единой модели данных AggreGate, но и может обрабатывать потоки событий, работая с внешними источниками и приемниками:
- Kafka
- JMS/MQ
- NATS
- CDC
- Файлы
- и другие
Стандартный комплект поставки коррелятора событий содержит основные необходимые компоненты для обработки сложных событий, а также коннекторы к единой модели данных AggreGate. Расширить функционал можно добавлением дополнительных плагинов Siddhi в специальную директорию.
Благодаря унифицированной архитектуре все возможности по обработке сложных событий доступны и на периферийных устройствах. Коррелятор событий – легковесный модуль, доступный в составе AggreGate Edge. Благодаря тому, что периферийные устройства получают возможность проводить обработку потоков событий на своей стороне, достаточно отправлять на центральный узел распределенных систем только нужные данные. Это дает множество преимуществ, увеличивая автономность работы периферийных устройств и снижая трафик, задержки и требования хранилищам центральных узлов.
Таким образом, огромный потенциал коррелятора событий, особенно дополненный масштабируемостью распределенной архитектуры, открывает новые возможности для решения бизнес-задач практически в любой индустрии, где необходимо проводить сложный многофакторный анализ и принятие решений на лету.