Преимущества#
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, которым может воспользоваться любой человек с минимальной алгоритмической подготовкой, а не только разработчик. Подробно конфигурирование обработчиков мы рассмотрим в одном из следующих разделов семинара.
Конфигурации оформляются в виде файлов, и после их создания все, что нужно сделать для развертывания обработки - это запустить универсальный обработчик с этой конфигурацией.