Я ищу гиды, советы или образцы того, как загрузить баланс приложения php. Моя настройка – Ubuntu 10.04 и PHP 5.3. Я никогда не загружал сбалансированные серверы раньше, и я ищу любую помощь, которая предлагается.
Обновить:
Это веб-приложение, которое, как ожидается, будет иметь несколько сотен пользователей, использующих его одновременно. MySQL будет базой данных. Для пользователей будут сеансы, но я слышал, что сеансы не могут переноситься на несколько серверов. Будут очень частые обновления контента. Будут файлы, но я просто использую CDN для них.
балансировка нагрузки веб-приложения не имеет ничего общего с самим приложением, но больше с хостингом и инфраструктурой. Однако есть еще некоторые ключевые моменты, на которые вы должны обратить внимание при создании приложения, которое должно быть сбалансировано по нагрузке. Вот некоторые:
Если это проблема для существующего приложения, например, вы можете обойти это, установив сродство к балансировщику нагрузки, что означает, что все запросы, поступающие от конкретного пользователя, будут обслуживаться одним и тем же сервером. Очевидно, что этот подход имеет недостаток в том, чтобы сделать ваше приложение менее масштабируемым, поскольку один сервер может получить больше обработки, чем другой.
Итак, что касается программного обеспечения для балансировки нагрузки, я не парень Linux, но я вижу, что многие люди говорят об Apache как WebServer и HAProxy в качестве приложения балансировки нагрузки.
Надеюсь, поможет!
Существуют классы PHP, которые позволяют хранить сеанс в MySQL.
http://php.net/manual/en/function.session-set-save-handler.php
Я бы поставил что-то вроде nginx на интерфейсный сервер и использовал его для балансировки нагрузки. За этим вы могли бы использовать свои два веб-сервера и даже использовать nginx для обслуживания своего статического контента.
За вашими веб-серверами у вас будет ваш mysql db.
Я разработал несколько сетей, которые получили чуть более 1000 / имп / сек и начали с этим проект сети. После увеличения трафика я обычно просто расширил инфраструктуру, добавив больше веб-серверов и больше доступных для чтения db и заменив nginx на пару F5.