Size: a a a

2021 July 07

RB

Roman Bukin in pro.net
А у тебя долгоиграющие датабазные транзакции там или что ты имел ввиду под «докоммитил»?
источник

VS

Vasily Shapenko in pro.net
Соблюдается
источник

AI

Arthur Irgashev in pro.net
нет, не очень, иногда по 15 сек могут длится, если запускается доп логика. но чаще всего это 2 - 3 сек где-то
источник

AI

Arthur Irgashev in pro.net
я вот на диаграмке визуализировал и понял, что нет. как верно выше там кто-то заметил, что даже за 30мс может произойти много что
источник

AI

Arthur Irgashev in pro.net
там на самом деле решение какое-то тупое, я смог решить задачу, зайдя с другой стороны (не посылая один ивент на кенселейшн)

но забыл :(
источник

RB

Roman Bukin in pro.net
Чот понятно что ничего не понятно. Откуда там 15 секунд?
источник

RB

Roman Bukin in pro.net
Вместо Send делал Publish?😂
источник

AI

Arthur Irgashev in pro.net
я к тому, что сама сага длится в некоторых кейсах до 15 сек
источник

RB

Roman Bukin in pro.net
Ну сага описывает заказ
источник

RB

Roman Bukin in pro.net
Как я понимаю
источник

RB

Roman Bukin in pro.net
У которго может быть конечный набор состояний
источник

RB

Roman Bukin in pro.net
Ну вот и дополняешь парочкой новых
источник

RB

Roman Bukin in pro.net
Это ж конечный автомат по сути
источник

AI

Arthur Irgashev in pro.net
да. и там раундтрип в 8 - 12 сервисов (в зависимости от типа заказа)

и вот представим, что чекаем флаг на старте транзакции. всё окей, идём дальше. процессим пеймент, получаем там токен нонс, проверяем опять флажок перед финальным списанием.

запрос пришёл в сервис, получил, что юзер не забанен. в момент, когда отсылается обратно - юзера забанили. по факту, мы работаем с устаревшими данными. сервис на финальном чеке знает, что 30мс назад юзер был доступен, но пока ответ шёл назад - случилась беда
источник

AI

Arthur Irgashev in pro.net
да
источник

RB

Roman Bukin in pro.net
Ну дык ты проверь после списания
источник

RB

Roman Bukin in pro.net
И если забанили, то стартуешь рефанд
источник

RB

Roman Bukin in pro.net
Прост в другую ветку развиваешь это дело
источник

AI

Arthur Irgashev in pro.net
да как-то хотелось бы без лишних рефандов. но в целом да, я такое решение тоже рассматривал, из самых некостыльных оно самое адекватное
источник

RB

Roman Bukin in pro.net
Ну для начала надо узнать какой процент таких вот потеряшек относительно общего количества заказов
источник