У меня есть мобильное приложение на веб-интерфейсе и веб-сервисы RESTful API на бэкэнде, которые создают всю бизнес-логику. Веб-сервис написан с использованием php без фреймворков. Также все данные хранятся в базе данных MySQL. Но само приложение рассчитано на большое количество пользователей и отсюда у меня возник вопрос. Как обеспечить максимальную производительность при высоких нагрузках?
Когда у вас высокие нагрузки, очень распространенной практикой является использование балансировки нагрузки. Это предполагает наличие одного сервера (балансировщика нагрузки), который будет направлять входящий трафик на несколько экземпляров ваших веб-сервисов.
Поэтому, в основном, запустите службу API на нескольких серверах и используйте балансировщик нагрузки для распределения нагрузки.
Есть много разных способов (алгоритмов), в которых нагрузка может быть распределена. Некоторые из которых здесь:
https://serverfault.com/questions/112292/what-kind-of-load-balancing-algorithms-are-there
Других решений пока нет …