Работают ли оптимистичные блокировки для нескольких приложений
Несколько серверов используют одну и ту же базу данных, когда они получают доступ к одним и тем же данным с помощью оптимистических блокировок. В любом случае, сервер B получает данные версии 1, и они фиксируют одновременно с версией 2. Работают ли оптимистические блокировки для нескольких приложений?
1 ответ
Если вы на самом деле используете оптимистичные блокировки, конечно, они работают для нескольких приложений. В этом весь смысл оптимистичных блокировок - они вам на самом деле не нужны в одном приложении.
Но они должны быть оптимистичными, а не просто "будем надеяться, что это не сломается". Это означает, что обновление строки всегда должно приводить к новому номеру версии. Когда A и B попытаются выполнить обновление, первая, которая на самом деле проходит, будет иметь увеличенную старую версию, что означает, что у другой больше не будет соответствующей версии, и произойдет сбой оптимистичного параллелизма.