Версия 1.3 от Alexandr Fokin на 2026/07/27 02:30

Скрыть последних авторов
Alexandr Fokin 1.1 1 |(% style="width:40px" %) |(% style="width:1394px" %)[[Примеры>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Тема\. Сигналы и триггеры.Примеры.WebHome]]
2 |(% style="width:40px" %) |(% style="width:1394px" %)(((
Alexandr Fokin 1.2 3 |Риски|(((
4 |Тип|Причина|Пример
5 |Потеря данных в хранилище.|Падение ненадежного (например InMemory) хранилища.|Потеря счетчика сигналов.
6 |Потеря сигнала.|Отправка TriggerEvent без sql TransactionalOutbox.|TriggerEvent не был отправлен / Счетчик не был изменен
7 -> Зависание обработки.
8 |Ложный или дублирующий сигнал.|Обработка TriggerEvent без sql TransactionalInbox.|TriggerEvent был обработан более одного раза / Счетчик был уменьшен на более чем 1
9 -> Ложное, преждевременное срабатывание триггера.
10 )))| |
Alexandr Fokin 1.3 11 |Инструменты|(((
12 |TriggerEvent sql TransactionalInbox + TriggerEvent sql TransactionalOutbox + sql store.|Полня ACID целостность (отсутствие рисков), но меньшая пропускная способность из-за sql БД.
13 | |(((
14 Использование меньших гарантий требует дополнительных проверок.
15
16 * Дополнительные проверки условия для обнаружения ложного сигнала.
17 * Страхующая проверка завязанная на таймер для обнаружения зависания обработки.
18 )))
19 )))| |
Alexandr Fokin 1.1 20 |Выводы|(((
Alexandr Fokin 1.2 21 * Более производительные решения возможны только с использованием InMemory ([[NoSQL>>doc:Разработка.Базы данных.NoSQL.WebHome]]) хранилища. Что ведет к понижению надежности и отсутствию полного [[ACID>>doc:Разработка.Базы данных.Концепции.ACID.WebHome]].
22 * Решение на основа только реляционной БД ([[SQL>>doc:Разработка.Базы данных.SQL.WebHome]]) не может гарантировать такой же высокий уровень производительности. Возможно смещение в сторону периодической перепроверки по таймеру (увеличение задержки между завершением работы и реакций на это).
23 )))| |
Alexandr Fokin 1.1 24 )))
25 |(% style="width:40px" %) |(% style="width:1394px" %)
26
27