Это мой первый раз, когда я разрабатываю приложение, которым будут одновременно пользоваться 10-15 человек, поэтому я не совсем уверен в том, что можно минимизировать конфликты при обновлении.
По сути, мое приложение работает следующим образом. Новые элементы вставляются в базу данных через внешний сервис по мере их поступления. Бизнес-правила указывают, что каждый элемент должен проверяться двумя независимыми сотрудниками. Излишне говорить, что существует связь «один ко многим» между предметом и отзывами. Что является наиболее важным аспектом приложения, так это то, что ни один элемент не может превышать двух отзывов, и система должна отслеживать, кто был двумя рецензентами. Также кто выступил первым рецензентом и вторым.
Теперь у меня все работает. Проблема, с которой я сталкиваюсь, заключается в следующем (один из многих похожих сценариев). Что произойдет, если все пользователи обновят свои списки товаров в течение 5 минут после начала. Пользователь 1 отправляет отзыв для идентификатора элемента 1. Второй человек отправляет отзыв по тому же предмету. Теперь третье лицо отправляет отзыв по идентификатору элемента 1, но уже есть 2 отзыва, поэтому элемент помечен как завершенный.
Каковы возможные способы работы с многопользовательской средой, в которой велика возможность нескольких пользователей обновить одну и ту же запись?