Задать вопрос
@HCEL

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

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

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

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

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