Коррелятор событий

Event Correlator

Коррелятор событий – встроенный в платформу AggreGate инструмент для обработки сложных событий (Complex Event Processing, CEP). Он построен на постоянно обновляемой open source библиотеке Siddhi.

В то время как привязки в основном используются для обработки одиночных событий, коррелятор событий предназначен для работы сразу с группой поступающих событий: последовательность, временное окно, несколько потоков и т.п. Цепочки событий обрабатываются в памяти на лету, без лишних чтений и записей в долговременное хранилище.

Существует множество способов применения коррелятора событий. Среди них:

Выявление заданных закономерностей Снижение дискретности сигнала
Отслеживание трендов Полная и инкрементная агрегация по времени, сессии или определённому числу событий
Коррелирование нескольких потоков событий Выявление аномалий и пропущенных событий
Дедупликация идентичных событий Применение на лету заранее обученных и онлайн-моделей машинного обучения с поддержкой PMML
Применение техник throttling и debouncing Подключение внешних потоков событий

Коррелятор событий поддерживает не только внутренние события единой модели данных AggreGate, но и может обрабатывать потоки событий, работая с внешними источниками и приемниками:

  • Kafka
  • JMS/MQ
  • NATS
  • CDC
  • Файлы
  • E-mail
  • и другие

Стандартный комплект поставки коррелятора событий содержит основные необходимые компоненты для обработки сложных событий, а также коннекторы к единой модели данных AggreGate. Расширить функционал можно добавлением дополнительных плагинов Siddhi в специальную директорию.

Коррелятор событий

Благодаря унифицированной архитектуре все возможности по обработке сложных событий доступны и на периферийных устройствах. Коррелятор событий – легковесный модуль, доступный в составе AggreGate Edge. Благодаря тому, что периферийные устройства получают возможность проводить обработку потоков событий на своей стороне, достаточно отправлять на центральный узел распределенных систем только нужные данные. Это дает множество преимуществ, увеличивая автономность работы периферийных устройств и снижая трафик, задержки и требования хранилищам центральных узлов.

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