Представьте себе документ, содержащий одно поле: {availableSpots: 100}
, и миллионы пользователей стремятся получить место, отправив запрос на сервер API.
каждый раз, когда приходит запрос, сервер читает документ и, если availableSpot> 0, он уменьшает его на 1 и создает резервирование в другой коллекции.
Теперь я прочитал, что mongodb блокирует документ при каждом обновленииоперация выполнена.
Что произойдет, если будет миллион одновременных запросов?это займет много времени, потому что один и тот же документ блокируется?Кроме того, сервер считывает значение документа до того, как попытается обновить документ, и к тому времени, когда он получит блокировку, место может перестать быть доступным.Как лучше всего справиться с этим?