Какую конфигурацию выбрать для высоконагруженного проекта?
Есть сайт, на который планируется большой поток пользователей. Ежесуточная посещаемость порядка 20000-70000 на первое время (в дальнейшем должен произойти рост).
Проект написан на PHP (планируется уход от этого). Из основных нагрузок - пользователи могут загружать изображения, аудиозаписи и видеозаписи. соответственно видеозаписи автоматически конвертируются и сжимаются.
Хотелось бы услышать совет, какую физическую структуру выбрать для данного проекта.
Изучив материалы, пришли к такой конфигурации на стартовый этап с возможностью дальнейшего расширения: 1 вебсервер NGINX + Apache (в дальнейшем добавляем еще несколько веб-серверов, а текущий оставляем для распределения нагрузки), 1 сервер для хранения пользовательских файлов (в дальнейшем по мере необходимости добавляем новые), 1 сервер для MySQL (в дальнейшем добавляем новые с репликацией), 1 сервер под нужды видеоконвертора (ffmpeg, с него огромная нагрузка, в дальнейшем увеличиваем количество).
На будущее планируется ввести Node.JS-сервер для обработки сообщений и различных real-time уведомлений.
Насколько это оптимально? Какие параметры для каждого вида сервера рекомендуются?
Нормальная структура, не вижу никаких проблем для заявленной нагрузки. Хватит с запасом.
Рекомендую брать нормальное количество памяти (32Gb и выше на машину) и нормальную дисковую подсистему (лучше - RAID10 из 4 SAS-винчестеров, либо RAID-10 из 4 SATA-винчестеров с RAID-1 из 2 SSD в качестве writeback cache). Ну и сеть между машинами нужна гигабитная, разумеется.