Масштабирование на уровне приложения

androfedoro

Новичок
Доброго времени суток!
Пишу клиент-серверное приложение на PHP для набивки шишек. Решил разработать его таким образом, что оно устанавливается на два сервера, один из которых раздает верстку и формы, а другой держит API и общается с клиентом по XML или JSON.
В предположительном абстрактном случае сервер, раздающий практически статичную верстку, справится с достаточно высокой нагрузкой, а сервер с API будет выполнять тяжелые(гипотетически) операции и на всех его не хватит. Как спроектировать приложение таким образом, чтобы за API могли отвечать 2+ серверов?
На серверах: Linux, Apache2, PHP5.x, MySQL.
Насколько я понимаю, одно из решений - вычислительное облако, когда несколько серверов работают как одна машина с одной операционной системой и добавление новых серверов увеличивает вычислительные ресурсы общего, виртуального сервера. Но это решение и дорогостоящее, и не подходящее по изначальному замыслу, поэтому мог бы кто пояснить, как масштабирование, в котором новый сервер просто повышает производительность всей системы, можно реализовать на уровне PHP приложения?
Вопрос, вероятно, ламерский, но вся информация, которую мне удалось найти, сугубо абстрактная и как ее применить, пока не понял. Возможно, упускаю что-то значительное.
Заранее благодарю за информативные ответы.
 

fixxxer

К.О.
Партнер клуба
Универсального решения нет, все зависит от того, можно ли партиционировать данные.
Почитай про горизонтальное масштабирование.
И выкинь апач, поставь nginx + php-fpm.
 

Balancer

Новичок
Почему нет универсального решения? Потому что тонкости реплицирования сильно зависят от задача.

Почему почитать про горизонтальное масштабирование? Потому что популярное решение.

Почему поменять apache на nginx+php-fpm? Потому что вторая связка намного производительнее.
 
Сверху