Как часто вы ожидаете, что игра начнется / закончится?Если ответ определенно меньше 5 в секунду, тогда просто используйте одну сущность для представления pool
и используйте транзакции для атомарного получения и обновления его по мере начала и окончания игры.
Если вы действительно этого ожидаетеМногие клиенты сообщают одну pool
, что она будет обновляться с постоянной скоростью более 5 раз в секунду, а затем рассмотрим разбиение pool
на несколько частей.Когда клиент запускает игру, удалите сущности только из одного из осколков.Чтобы проверить, является ли осколок pool
пустым, просто извлеките все осколки и посмотрите, все ли они пусты.(При изменении шарда вам все равно придется использовать транзакцию.)