Глосарій

Race Condition

Race condition (стан гонки) — помилка, що виникає коли результат залежить від порядку виконання паралельних операцій. Класичний приклад: два запити одночасно читають баланс ($100), обидва знімають $80, обидва записують $20 — але мало бути -$60.

В БД

Вирішується транзакціями з відповідним рівнем ізоляції або SELECT ... FOR UPDATE — блокування рядка до кінця транзакції.

В кеші

Атомарні операції Redis (INCR, SETNX, Lua-скрипти) запобігають гонці на рівні кешу.

Оптимістичне vs песимістичне блокування