Как минимизировать затраты времени на обслуживание web сервера?
Привет всем,
есть нагруженный(~ 100 пользователей онлайн) сервер. Его нужно периодически обслуживать - обновлять БД, прикладное ПО. Хотелось бы его кластеризовать.
Есть прокси сервер nginx, используется как фронтэнд и стандартная LAMP архитектура (php5-fpm).
Как проще поступить?
Поднять ВМ еще одну отдельно с mysql и потом попробовать клатеризовать на еще одну ВМ, отдельно поднять инстанс аналогичный с апачем, а файлы сайта с данными выложить на NFS ?
А на стороне фронтенда организовать пересылку запросов на разные бекэнды?
toptyg: PHP-FPM - это интерфейс PHP, который позволяет обращаться к скриптам посредством протокола FastCGI, это один из 4 интерфейсов, которые предоставляет PHP (CLI, CGI, mod_apache, FPM). LAMP - это стэк технологий, который включает в себя Linux, Apache, MySQL, PHP (иногда Perl). Да, в рамках этого стэка есть месть FPM, но нет места nginx. Если же впихнуть в него nginx, то нет места FPM. Если же всандалить и то, и другое, то Apache будет пятой ногой, значит, мы говорим о криворуком администраторе.
есть сервер А его БД нужно обновить. если сервер остановить, бд обновить, и включить то пройдет 30-60 минут. Если поднят кластер то переключение должно пройти быстрее...
Под минимизацией затрат времени на обслуживание понимаю минимизацию времени простоя в работе(см. определение простой в работе). Увеличение числа элементов может увеличить надежность системы и сократить время простоя(о чем собственно и вопрос) см. цепи Маркова.
toptyg: обновление версии СУБД не представляет проблемы. Любой нормальный пакетный менеджер подменит Вам версию БД на живую, всего с одной перезагрузкой СУБД (5-10 секунд). Проблемы могут быть при смене мажорной версии (несовместимость бинарных файлов), но это слишком значительное изменение в жизни, чтобы проводить его с бухты барахты.