Сценарии использования компонента 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 не предусмотрено выполнение альтернативных сценариев.