@HCEL

В данной задаче правильно будет использовать уровень изоляций БД READ_COMMITED?

Задача: При обращений к апи нужно оформить подписку пользователю выполнив бизнес логику для этого.
Алгоритм:
1. Принять запрос
2. Получить прайс подписки
3. Проверить баланс пользователя
4. Вычесть баланс
5. Выдать подписку

Как я понял транзакций сначала выполняются и при успехе делают изменения в бд. Я вот думаю вот если как то очень быстро выполнить несколько запросов, соответственно каждый запрос будет обрабатывать этот алгоритм. И пока 1-ый запрос с транзакций еще выполняется и вычитает баланс, то 2-ой запрос может быть еще не видит эти изменения и думает что у пользователя баланс есть и снова выдает ему подписку. По сути нужно использовать для такого случая уровень изоляций READ_COMMITED, чтобы транзакций в реальном времени видели что там у них внутри изменилось уже?
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы