решение

Раньше оформление шло одной транзакцией в общей базе: создать заказ и авторизовать списание — атомарно, либо оба, либо ничего. Теперь Заказы в монолите, Платежи — за сетью. Одной транзакции на двоих больше нет.

проблема · транзакция кончается на границе
списать по заказузаказыв монолитесервис платежиза сетьюответ может потеряться: заказ создан, а платёж — неизвестно

Раньше одно «либо оба, либо ничего». Теперь между ними — сеть, которая может промолчать.

Как удержать целостность «заказ создан ⇔ платёж авторизован» через границу сервиса?

клавиши 1–4 или клик

← назад