В приложении, над которым я сейчас работаю, несколько пользователей могут захотеть редактировать что-то одновременно, что означает, что нам нужно реализовать оптимистическую блокировку. Однако для этого приложения редактируемый элемент представляет собой научный протокол, который содержит записи из нескольких разных таблиц в базе данных.
Таким образом, мы хотим иметь возможность указать, что весь протокол был заблокирован для редактирования одним пользователем, что приводит к моему вопросу: предпочтительный способ сделать это - обработать изменения на уровне базы данных (например, иметь таблицу с уникальным идентификатором протокола и проверьте, не заблокирован ли он) или будет ли принято отслеживать в настоящий момент заблокированные протоколы на самом веб-сервере в памяти?
В настоящее время мы ожидаем около 100 пользователей (не более 20 одновременно) для приложения, но в будущем это число может увеличиться, поэтому мы стремимся использовать наиболее масштабируемый вариант.