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

Сценарий 1. Слияние потоков событий#

Участники: Поставщик событий, Обработчик, Потребитель событий.

Предусловия: В настройках потока обработки есть два шага с источником (type=source), один шаг слияния (type=merge) и один шаг назначения (type=destination).

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

Шаг

Описание

1.

Поставщик событий отправляет событие в первый топик брокера Apache Kafka.

2.

Поставщик событий отправляет событие во второй топик брокера Apache Kafka.

3.

Обработчик получает событие из первого топика поставщика.

4.

Обработчик получает событие из второго топика поставщика.

5.

События из первого и второго топик поставщика передаются в топик потребителя событий в брокер Apache Kafka.

6.

Потребитель событий получает событие из топика брокера Apache Kafka.

Постусловие: Событие доставлено потребителю.

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

Шаг

Описание

7.1

Возникает ошибка при передаче события в топик потребителя.

7.2

Обработчик записывает в лог сообщение об ошибке.

7.3

Выполнение Обработчика прерывается.

7.4

Перезапуск Обработчика.

7.5

Обработчик повторно вычитывает событие из топика поставщика.

7.6

События передаются в топик потребителя событий в брокер Apache Kafka.

7.7

Потребитель событий получает событие из топика брокера Apache Kafka.

Постусловие: Событие доставлено потребителю.

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

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

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

Участники: Поставщик событий, Обработчик, Потребитель событий.

Предусловия: В настройках потока обработки есть шаг с источником (type=source), шаг трансформации (type=dsl), шаг ветвления (type=branch) и два шага назначения (type=destination).

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

Шаг

Описание

1.

Поставщик событий отправляет событие в топик брокера Apache Kafka.

2.

Обработчик получает событие из топика поставщика.

3.

Обработчик выполняет шаг трансформации события, в котором на выход создаются два события.

4.

События передаются в первый топикc потребителя событий в брокер Apache Kafka.

5.

События передаются во второй топик потребителя событий в брокер Apache Kafka.

6.

Потребитель событий получает событие из первого топика брокера Apache Kafka.

7.

Потребитель событий получает событие из второго топика брокера Apache Kafka.

Постусловие: Первое и второе события доставлены потребителю.

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

Шаг

Описание

7.1

Возникает ошибка при передаче события в топик потребителя.

7.2

Обработчик записывает в лог сообщение об ошибке.

7.3

Выполнение Обработчика прерывается.

7.4

Перезапуск Обработчика.

7.5

Обработчик повторно вычитывает событие из топика поставщика.

7.6

Обработчик выполняет шаг трансформации события, в котором на выход создаются два события.

7.7

События передаются в первый топик потребителя событий в брокер Apache Kafka.

7.8

События передаются во второй топик потребителя событий в брокер Apache Kafka.

7.9

Потребитель событий получает событие из первого топика брокера Apache Kafka.

7.10

Потребитель событий получает событие из второго топика брокера Apache Kafka.

Постусловие: Первое и второе события доставлены потребителю.

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

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

Сценарий 3. Трансформация потока событий#

Участники: Поставщик событий, Обработчик, Потребитель событий.

Предусловия: В настройках потока обработки есть шаг с источником (type=source), шаг трансформации (type=dsl) и шаг назначения (type=destination).

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

Шаг

Описание

1.

Поставщик событий отправляет событие в топик брокера Apache Kafka.

2.

Обработчик получает событие из топика поставщика.

3.

Обработчик выполняет шаг трансформации события.

4.

Обработчик отправляет событие в топик потребителя событий в брокер Apache Kafka.

5.

Потребитель событий получает событие из топика брокера Apache Kafka.

Постусловие: Событие доставлено потребителю.

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

Шаг

Описание

5.1

Возникает ошибка при передаче события в топик потребителя.

5.2

Обработчик записывает в лог сообщение об ошибке.

5.3

Выполнение Обработчика прерывается.

5.4

Перезапуск Обработчика.

5.5

Обработчик повторно вычитывает событие из топика поставщика.

5.6

Обработчик выполняет шаг трансформации события.

5.7

Обработчик отправляет событие в топик потребителя событий в брокер Apache Kafka.

5.8

Потребитель событий получает событие из топика брокера Apache Kafka.

Постусловие: Событие доставлено потребителю.

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

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

Сценарий 4. Фильтрация потока событий#

Участники: Поставщик событий, Обработчик, Потребитель событий.

Предусловия: В настройках потока обработки есть шаг с источником (type=source), шаг трансформации (type=dsl) и шаг назначения (type=destination).

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

Шаг

Описание

1.

Поставщик событий отправляет событие в топик брокера Apache Kafka.

2.

Обработчик получает событие из топика поставщика.

3.

Обработчик выполняет шаг трансформации события.

4.

Обработчик отправляет событие в топик потребителя событий в брокер Apache Kafka

5.

Потребитель событий получает событие из топика брокера Apache Kafka.

Постусловие: Событие доставлено потребителю.

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

Предусловие: Событие не удовлетворяет условию фильтрации.

Шаг

Описание

5.1

Возникает ошибка при передаче события в топик потребителя.

5.2

Обработчик записывает в лог сообщение об ошибке.

5.3

Выполнение Обработчика прерывается.

5.4

Перезапуск Обработчика.

5.5

Обработчик повторно вычитывает событие из топика поставщика.

5.6

Обработчик выполняет шаг трансформации события.

5.7

Обработчик отправляет событие в топик потребителя событий в брокер Apache Kafka.

5.8

Потребитель событий получает событие из топика брокера Apache Kafka.

Постусловие: Событие доставлено потребителю.

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

Предусловие: Событие удовлетворяет условию фильтрации.

Шаг

Описание

1.

Поставщик событий отправляет событие в топик брокера Apache Kafka.

2.

Обработчик получает событие из топика поставщика.

3.

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

Постусловие: Событие не доставлено потребителю.

Сценарий 5. Агрегация потока событий#

Участники: Поставщик событий, Обработчик, Потребитель событий.

Предусловия: В настройках потока обработки есть шаг с источником (type=source), шаг агрегации (type=aggregation) и шаг назначения (type=destination).

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

Шаг

Описание

1.

Поставщик событий отправляет событие в топик брокера Apache Kafka.

2.

Обработчик получает событие из топика поставщика.

3.

Обработчик вычисляет ключ агрегации.

4.

Обработчик на основе полученного ключа помещает событие в соответствующее окно агрегации.

5.

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

6.

Производится обработка накопленных событий и генерация результата агрегации.

7.

Обработчик передает результат агрегации в топик потребителя событий в брокер Apache Kafka.

8.

Потребитель событий получает событие из топика брокера Apache Kafka.

Постусловие: Событие доставлено потребителю.

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

Шаг

Описание

6.1

Возникает ошибка при агрегации накопленных событий.

6.2

Обработчик записывает в лог сообщение об ошибке.

6.3

Выполнение Обработчика прерывается.

6.4

Перезапуск Обработчика.

6.5

Восстановление состояния агрегации.

Постусловие: Событие доставлено потребителю.

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

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