Сценарии использования компонента EVTD#

Сценарий 1. Выполнение административных функций#

Сценарий 1.1. Назначение прав на поток событий#

Основной сценарий#

Администратор назначает права на поставку/потребление событий для kafka-клиентов.

Исключительные сценарии#

Ошибка выдачи прав.

Альтернативные сценарии#

В компоненте EVTD не предусмотрено выполнение альтернативных сценариев.

Сценарий 1.2. Создание нового потока событий#

Основной сценарий#

Администратор создает новый поток событий для брокеров Apache Kafka с помощью CLI или Jenkins.

Исключительные сценарии#

Ошибка создания потока событий.

Альтернативные сценарии#

В компоненте EVTD не предусмотрено выполнение альтернативных сценариев.

Сценарий 2. Отправка событий с использованием дополнительных сервисных функций#

Основной сценарий#

Producer вызывает метод Send клиента Apache Kafka Producer для отправки события, событие проходит через класс-перехватчик, где, в зависимости от используемого класса, могут быть проведены следующие действия:

  • валидация события по схеме (JSON, XML);

  • подпись события с помощью X.509 сертификата или OTT-токена;

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

Исключительные сценарии#

Ошибка записи события в поток.

Альтернативные сценарии#

В компоненте EVTD не предусмотрено выполнение альтернативных сценариев.

Сценарий 3. Получение событий с использованием дополнительных сервисных функций#

Основной сценарий#

Консьюмер вызывает метод poll клиента Apache Kafka Consumer для потребления событий, на которые он подписан. До передачи в прикладной код события проходят через класс-перехватчик, где, в зависимости от используемого класса, могут быть проведены следующие действия:

  • валидация события по схеме (JSON, XML);

  • проверка подписи события с помощью X.509 сертификата или OTT-токена;

  • расчет и трассировка задержки полученного события с записью в журнал (информация ограничена идентификатором события и временными метриками, бизнес-информация не журналируется);

  • фильтрация атрибутного состава события по JSON-path или XML-path с передачей в прикладной код только атрибутов, попадающих в white-list, указанный в конфигурации;

  • фильтрация атрибутного состава события на основании DSL-правил.

Исключительные сценарии#

Ошибка чтения события из потока.

Альтернативные сценарии#

В компоненте EVTD не предусмотрено выполнение альтернативных сценариев.