Size: a a a

2022 January 16

✨Basic_Instinct✨ in symfony
ну вот ты и прочел
+1000 баланс
-100 снял муж
источник

✨Basic_Instinct✨ in symfony
и только если баланс позволит, сделал запись
-300 сняла жена
источник

MK

Mikhail Kobychev in symfony
Не типо есть сервис транзакций - он хранит в себе лог коммитов в баланс. А есть представление пользователя - там этот лог схлопывается до конкретного баланса
источник

СВ

Сергей Вершинин... in symfony
Тут наверное про то, что допустим

У тебя прилетело в очередь 3 транзакции. У тебя есть 3 обработчика. Они взяли их обработать одновременно.

И вот нужно как то контролировать баланс
источник

D

Dmitry in symfony
Запросы конкурентные. В один момент
источник

D

Dmitry in symfony
Да
источник

✨Basic_Instinct✨ in symfony
вот это
+1000 баланс
-100 снял муж
-300 сняла жена

и есть про конкурентные запросы
источник

D

Dmitry in symfony
Нет. Это у вас последовательные
источник

✨Basic_Instinct✨ in symfony
ну ок, пусть так
источник

D

Dmitry in symfony
Баланс 100. Муж запрашивает 100 и жена 300
источник

D

Dmitry in symfony
Как разруливать в разных обработчиках ?
источник

✨Basic_Instinct✨ in symfony
не сможет так
источник

MK

Mikhail Kobychev in symfony
Кто первый - того и тапки
источник

✨Basic_Instinct✨ in symfony
верно
источник

D

Dmitry in symfony
Да. Но все равно получаем тогда в один поток и локи
источник

✨Basic_Instinct✨ in symfony
почему один поток?
источник

D

Dmitry in symfony
Потому что кто первый встал того и тапки это только в один поток с локами. А скорость локов имеет предел
источник

MK

Mikhail Kobychev in symfony
Если одновременно идёт
+ 1000
- 100
- 50
А исзодный баланс 0

Если сначала прибавится косарь - то всё ок, а если косарь прибавится в конце, то сорян, ничего не попишешь
источник

MK

Mikhail Kobychev in symfony
Можно ещё конечно записывать время отправления запроса на изменение и через симафору это дело выстраивать - но я думаю это чушь
источник

D

Dmitry in symfony
Начально 100
Приходят одновременно запросы
-100
+200
-50
И ещё тысяча штук
источник