Я хотел бы знать, насколько важные системы создают свои транзакции для операций.
Я не говорю о транзакции базы данных в одной базе данных.
Например:
1) Зарядка пользователя 10 USD
2) Запуск заказа в системе (сменить флаг столбца или аналогичный
3) Отправка пользователю электронного письма с контентом «Заказ выполнен»
4) Отправка почты сотрудникам
Итак, если с кого-то взимается 10 долларов США, но по какой-то причине 2-й или 3-й шаг не прошел, как действовать.
То же самое касается сбоя отправки электронной почты, создания файлов в системе, журналов.
Если многие системы подключены через API (например, микросервисы), существует ли атомарность без записи тысяч строк кода в каждом микросервисе или компоненте.
И, наконец, если каждый микросервис обрабатывает ATOMICITY, какой смысл микросервисам, если код будет продублирован?
Кто-то может сказать, что будет микросервис, который обрабатывает всю атомарность во всей системе, но таким образом он должен знать обо всех компонентах, которые наносят ущерб цели микросервиса?
Спасибо