Преимущества#

Platform V Synapse Event Mesh обладает следующими ключевыми особенностями и преимуществами по сравнению с аналогичными решениями:

Synapse Event Monitoring system (Mayak) (EDMN)#

Независимый мониторинг с широкими возможностями настройки отображений и триггеров уведомлений пользователя.

Сервис управления событийными доменами (EDMS)#

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

  • Удобство работы и быстрое создание интеграций. Решение особенно ценно в средах, где обработка событий в реальном времени и координация системы имеют решающее значение.

  • Отказоустойчивая репликация событий между географически распределенными зонами доступности.

  • Потоковая обработка событий (фильтрация, агрегация, трансформация) на основании пользовательских сценариев с собственным DSL-языком описания преобразований.

Integration Portal (EMIP)#

  • возможность для AI агентов легко и безопасно создавать и потреблять события;

  • минимизация процессных и системных изменений организации для использования функционала;

  • возможность с помощью low/no code инструментария создавать интеграционные цепочки;

  • работа с системой как со стороны агентов, так и со стороны операторов на естественном языке;

  • создание изолированных ландшафтов для коммуникаций между AI агентами («песочницы»).

Synapse Cloud Event Streaming Processing (EVPC)#

VPC представляет собой универсальный потоковый обработчик, но его средой исполнения является Kubernetes (и другие основанные на нем платформы). Установка только в контейнеризированной среде.

Pod обработчика аналогичен Job-е флинка и также настраивается с помощью конфигурации, которая передается при запуске.

Помимо DSL, также можно выполнять расширенное конфигурирование с использованием языка JavaScript, что предоставляет более подготовленным пользователям расширенные возможности настройки логики обработки.

Подключение к транспорту, основанному на Apache Kafka, может выполняться нативно с помощью самого обработчика. Для подключения к транспорту на основе RabbitMQ или Apache ActiveMQ Artemis можно использовать адаптер EVTA.

Сервис обратного отсчета потоковой обработки (EVPT)#

EVPT представляет собой вспомогательный сервис таймеров. Принимает по REST запрос на установку таймера, по истечении времени выполняет указанный в задании REST-вызов. Установка возможна как на ВМ, так и в контейнерах.

Может быть установлен персистентно с хранением заданий в БД, основанных на PostgreSQL, либо неперсистентно - с хранением заданий в оперативной памяти.

В контексте потоковой обработки EVPT используется для отсчета окон агрегации для облачного потокового обработчика EVPC. В этом случае он инсталлируется в Kubernetes.

Также при желании EVPT можно использовать вне потоковой обработки как самостоятельный планировщик.

Reactive stream adapter (EVTA)#

Представляет собой универсальный адаптер, который позволяет реплицировать данные между разными видами транспорта. В том числе применимо для АС, не заточенных под прямое взаимодействие с транспортом, где компонент EVTA выступает посредником и позволяет реплицировать данные по протоколам REST и GRPC.

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

Сервис передачи событий (EVTD)#

Является набором SDK-библиотек, которые могут реализовать дополнительные функции бизнес-задач, а именно:

  • валидация сообщений;

  • подписи сообщений;

  • симметричное шифрование сообщений;

  • преобразовательные функции DSL-сообщений.

Основное преимущество данных интерсепторов — они могут постоянно дорабатываться под определенные задачи, а так же поставляться в виде де/сериализаторов.

Сервис потоковой обработки событий (EVTP)#

EVTP представляет собой кластер Apache Flink, в качестве контроллера кластера используется Zookeeper. Установка только на ВМ.

Apache Flink состоит из JobManager и TaskManager. Кластер может состоять из нескольких JobManager, из которых активным является только один, а остальные - дублирующие на случай отказа основного, и из нескольких TaskManager, которые работают одновременно, повышая общую производительность кластера.

Каждый обработчик или «задание потоковой обработки» (Job) делится на шаги (Task). Job является сущностью JobManager, а Task-и непосредственно выполняются на TaskManager-ах.

В Apache Flink существует понятие «параллелизма». Если запустить Job с параллелизмом >1, то обработчик запустится в несколько потоков, которые будут работать параллельно, что увеличит общую производительность.

При использовании Apache Flink в чистом виде, либо при реализации логики обработки внутри систем-участников, приходилось бы кодировать логику каждого преобразования отдельно, т.е. привлекать ресурсы разработки, затем проводить пересборку программной системы, все мероприятия по контролю качества и внедрению в пром новой версии ПО. Преимущество EVTP состоит в том, что разработан универсальный потоковый обработчик. Это Job флинка, который может принимать на вход логику работы в виде конфига, распознавать ее и выполнять на указанных ему потоках данных. Т.е. логика обработки задается в виде конфигурации. Для конфигурирования мы разработали собственный упрощенный скриптовый язык DSL, которым может воспользоваться любой человек с минимальной алгоритмической подготовкой, а не только разработчик. Подробно конфигурирование обработчиков мы рассмотрим в одном из следующих разделов семинара.

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