Проксирование данных через nginx
Cуть кратко.
Есть основной сервер. Наша задача, чтоб он доступен был через промежуточные сервера-"гейты" (VPS'ы, сервера).
Гейты эти выполняют функцию прозрачного проксирования с помощью nginx - проброс данных с/на основной сервер. При падении одного из гейтов скрипт должен в A запись домена прописывать ИП другого рабочего гейта.
значит. надо скрипты
-проверяющий доступность гейтов (VPS'ов, серверов) и меняющий А записи в зоне домена, в случае недоступности актуального.
-настраивающий гейты для проброса nginx"ом
+настроить основной рабочий сервер. factcgi + nginx, возможно отказ от апача, чтоб все стабильнее работало.
Выполнять роль NS будет наш спец сервер. На нем нужно держать зону и управляющие скрипты.
Гейтов у нас будет ~5-10 штук.
Основной рабочий сервер - мощная машина.
============================================
***Примечания
1. Предусмотривается проброс нескольких доменов.
2. Нужно использовать Round Robin или dns_srv в ДНС.
Допустим сразу иметь в роундробине 3 гейта, остальные гейты - резервные.
Если 1 гейт упал, то заменить его на рабочий.
3. Скрипт проверки должен пинговать указанные ИП адреса и при падении или подъеме кого-то из них править ДНС (менять А записи в зоне домена). отчетность как обычно в логи.
4. На стороне гейта в крон скрипт, который автоматом будет конфиги синхронизировать, т.о. настраивать nginx для проброса -
гейт по крону будет с главного сервера брать настройки и автоматом их применять.
============================================
Уже есть (!) готовые скрипты на shell: скрипт проверяющий доступность сервера и меняющий днс!
нужно еще написать скрипт настройки гейтов, отладить до конца работу системы и настроить основной сервер.
============================================
* Про то, что информация DNS кешируется на стороне пользователя и обновление кеша занимает до 48 часов не нужно рассказывать - т.к. нам это не проблема, посетители практически всегда уникальные.