с денежными переводами? Вот я же хочу кошелек сделать и я щас думаю о двух вариантах как сделать переводы между юзерами:
1) Serializable уровень изолированности + в запросах делать +=, -= (т.е. не проводить вычисления в коде, а делать их сразу со значениями в бд)
2) Сделать таблицу с транзакциями, куда от юзеров будет поступать информация о сумме, отправителе, получателе. Запись там будет по умолчанию pending и воркер какой-то (в одном экземпляре) будет просто по очереди выполнять задания и на месте проверять хватает ли баланса, не хватает) ну и таким образом обезопасить себя от коллизий
https://www.youtube.com/watch?v=zs4VUokFtPQ
Обсуждают сегодня