Как оптимизировать или что использовать в запросах к бд для многопользовательской бразуреной игры?
Всем привет! Ввожу в курс дела:
Дали на доработку простую браузерную-онлайн игрушку.
Игровой момент сводится к тому, что игрок делает ставку и выбирает 1 из 3ех предметов, а соперник должен угадать. Если угадал, ставка твоя, не угадал ставку отдал.
По мне реализовано странно (хотя возможно здравая мысль в этом есть).
- Игрок делает ставку и выбирает предмет -> улетело в бд (назовём это столом)
- Раз в минуту включается сборщик "столов" и все созданные, но не отыгранные "столы" выгружаются из бд -> в файл json
- Раз в минуту js подгружает в игровую страницу содержимое файла с актуальными столами
- Любой из соперников (но только самый первый) может участвовать в игре за "столом" т.е. указывает предмет который как ему кажется выбрал игрок.
- Выбор соперника сравнивается с результатом игрока делавшего ставку, стол закрывается всё улетает в БД
...
И всё по кругу, кто-то создаёт, кто-то отгадывает, хотя можно делать то и то.
Надеюсь я объяснил понятно.
Поверхностные плюсы/минусы такой стратегии
+ Количество запросов к бд о информации по столам не зависит от игроков онлайн (тем самым мы должны выигрывать на производительности)
- Игроки не знают какие столы отыграны пока не файл с актуальными столами не перезапишется
Наверное есть и другие +/- с удовольствием прочитаю ваши комментарии на этот счёт.
И вопрос, как по вашему нужно реализовать механизм общения клиента с бд.