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

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

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

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

Шаг

Описание

1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

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

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

Шаг

Описание

7.1

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

7.2

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

7.3

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

7.4

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

7.5

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

7.6

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

7.7

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

7.8

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

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

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

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

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

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

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

Шаг

Описание

1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

9.

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

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

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

Шаг

Описание

7.1

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

7.2

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

7.3

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

7.4

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

7.5

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

7.6

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

7.7

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

7.8

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

7.9

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

7.10

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

7.11

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

7.12

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

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

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

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

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

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

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

Шаг

Описание

1.

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

2.

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

3.

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

4.

Обработчик отправляет результат в выходной поток.

5.

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

6.

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

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

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

Шаг

Описание

5.1

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

5.2

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

5.3

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

5.4

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

5.5

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

5.6

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

5.7

Обработчик отправляет результат в выходной поток.

5.8

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

5.9

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

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

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

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

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

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

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

Шаг

Описание

1.

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

2.

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

3.

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

4.

Обработчик отправляет результат в выходной поток.

5.

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

6.

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

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

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

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

Шаг

Описание

5.1

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

5.2

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

5.3

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

5.4

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

5.5

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

5.6

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

5.7

Обработчик отправляет результат в выходной поток.

5.8

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

5.9

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

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

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

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

Шаг

Описание

1.

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

2.

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

3.

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

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

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

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

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

Шаг

Описание

1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

9.

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

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

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

Шаг

Описание

6.1

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

6.2

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

6.3

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

6.4

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

6.5

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

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

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

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