Балансировка на Nginx, обработка на Apache, статика в S3 AWS. Какие есть подводные камни?
Архитектура проекта следующая:
1 сервер Nginx (балансировка)
3 сервера Apache (выполняют скрипты)
Вся статика храниться в Amazon S3
и тд
Отводить свой сервер для статики не хотелось сразу, а сейчас интересно послушать ваше мнение по поводу использования такой связки. Что думаете если если Apache заменить всюду на Nginx? В общем ваше мнение.
Тогда: Вопрос поставлен неверно: Что думаете если если apache mod_php заменить всюду на fastcgi? Результат очевиден:
1. mod_php жрет как свинья много ресурсов, но быстрый как ягуар.
2. fastcgi весит как птичка, но тормозной как гиппопотам.
Вывод: А чё вы вообще спрашивали то? :-)
Гиппопотам явно не для нас :) Меня волнует ситуация с AWS S3, что если на нём держать все компоненты шаблонов, всю статику вплоть до css & js верный ли это путь?
Если s3 в той же зоне где у вас виртуалки или еще дальше, то не верный. Имхо, проще поднять отдельный nginx на честном смалл инстанс c большим тарифным лимитом, натравить на него субдомен, будет быстрее. Но тут надо взвешивать тоньше и подходить обособление. Замерять не только пинг, но и размеры, трафик, производительность.
Но делать это надо только тогда когда общая производительность такого процесса окупается. Т.е. наплыв реально большой, а не только так кажется. Правильно настроенный кеш заголовок и склейка файлов на много порядков лучше этой схемы.
Apache в таком случае не имеет смысла - берите php-fpm + nginx через файловые сокеты, и будет вам счастье. По поводу статики - есть смысл использовать Cloudflare, S3 большой Overkill для подобной задачи. Рубаете лес ядерными боеголовками.
S3 хотим юзать, чтобы не плодить количество используемых сервисов. Первоначально мы используем его, чтобы хранить все пользовательские файлы (очень много). В этой связи решил, что можно туда закинуть всю статику сайта, чтобы снять нагрузку с веб-сервера.