Большой проект с 1000тб HDD, посещаемостью около 500 000 в сутки. БД MySql.
Загрузка и закачка файлов.
Как реализовать несколько серверов под все это и как объединить их в одну мощь?
Один сервер бд или несколько. При отказе одного другой начинал работать.
Несколько файловых серверов работали как одно целое и при выходе одного из строя сайт работал без сбоев.
Балансировка нагрузки.
Например как vk.com или facebook.com много серверов объединили для одного сайта .
Есть опыт настройки Веб сервера LAMP на CentOS. По мере разработки стало понятно, что один сервер не потянет.
тут можно только посоветовать или читать о highload структурах, или нанять специалиста(ов), потому что всё очень индивидуально, и тема слишком широкая, чтобы сказать - делай так.
Наймите админа, с такими запросами самому разбираться просто напросто дольше и дороже.
Он вам и архитектуру посоветует и как разрабатывать, чтобы оно масштабировалось горизонтально подскажет.
База данных (эталон) располагается на одном очень мощном сервере. В основном используется для операций записи данных. Для большого кол-ва простых операция по выборки данных можно использовать:
1. копию(-и) (репликацию) базы данных. Репликацию производить с определенной периодичностью (например, раз в несколько минут)
2. использовать кэширование данных в оперативной памяти на основе хэш-таблиц.