Я работаю над псевдопользовательской игрой, в которой важные данные каждого игрока хранятся в моей базе данных MySQL. Игра похожа на Cla sh кланов в том, что игроки строят свои собственные базы и могут атаковать базы других игроков.
Чтобы предотвратить мошенничество, все важные функции запускаются на моем сервере через PHP , Например, если игрок хочет построить дом, серверу говорят: игрок хочет построить BUILDING_A по сетке {x, y}, а скрипт PHP проверяет из базы данных, свободна ли область, если игрок имеет технология, деньги и др. c. для этого.
Все эти функции относительно просты. Они просто проверяют, кто пытался получить доступ к базе данных и могут ли они делать то, что хотели. Затем сервер обновит данные игрока в базе данных и вернет сообщение на устройство.
Итак, по сути, моя игра всегда будет следовать одному и тому же процессу:
1) Устройство игрока делает запрос,
2) Сервер аутентифицирует игрока и разрешает или отклоняет запрос,
3) Сервер отправляет устройству игрока ответ, и устройство следует за ним.
Но я не уверен, насколько жизнеспособен или масштабируем мой подход. Я только что тестировал его в одиночку, и он хорошо работает, но, скажем, в первую неделю я получаю 100 или 1000 игроков. В пике может быть несколько сотен запросов к серверу в секунду, когда вызываются PHP скрипты, а база данных доступна и обновлена. Что, если это станет хитом и тысячи людей одновременно получат доступ к моим PHP скриптам и базе данных?
Является ли такой подход вообще жизнеспособным с самого начала? Если бы мои серверы были достаточно мощными, может ли один и тот же сценарий PHP быть доступным для стольких людей одновременно, и может ли сервер записывать в мою базу данных сотни раз в секунду? Будет ли он ставить в очередь операции, будет ли он игнорировать некоторые, перекрывающиеся операции просто не получатся?
Например, если я заплатил за AWS EC2 и настроил там свою ЛАМПУ, мог бы этот тип системы работать или я бы запустил в какое-то ограничение или проблемы, о которых я не знаю?