Алекс К.
1623 сообщения
#14 лет назад
Подскажите, как технически грамотно сделать зеркало сайта на другом сервере, чтоб зеркало открывалось в случае недоступности основного сайта?
Евгений О.
263 сообщения
#14 лет назад
Это зависит от того, с какими видами "недоступности" Вы хотите бороться (канал провайдера, "зависание" Вашего сервера, аппаратные ошибки на сервере) и оттого, сколько денег Вы хотите на это потратить. Самое простое (но не самое эффективное) решение - это периодически копировать контент Вашего сервера на резервный (rsync для статических страниц и репликация mysql для БД) и сделать балансировку нагрузки через DNS. В этом случае, при недоступности одного из серверов, половина пользователей ничего не заметит, для второй половины Ваш сайт будет недоступен на то время пока Вы переконфигурируете DNS и по нему пройдет обновление (это занимает несколько часов). Особо настырные из второй половины смогут пробиться на Ваш сайт нажимая кнопку "reload". Если Ваш сайт активно обновляет БД, то картина усложняется: обновление базы можно делать только на одном сервере. Здесь уже надо подбирать решение исходя из специфики Вашего сайта.
Алекс К.
1623 сообщения
#14 лет назад
Сервис регистрации доменов .
Понятно, что хороший хостинг нужен, но Домишко раньше не подводил. А сегодня расстроил.

Вроде и недолго сайт провисел, но чувства пользователя, который не может добраться до своих доменов помню. Нехорошее чувство.

БД обновляется и ни одно из обновлений нельзя потерять.

Можно подробнее о балансировке нагрузки? Прописываются DNS более, чем одного сервера?
Евгений О.
263 сообщения
#14 лет назад
Цитата ("Alex_Koval"):
...
Понятно, что хороший хостинг нужен, но Домишко раньше не подводил. А сегодня расстроил.


Раз Вы хотите бороться с недоработками провайдера, то самое простое и эффективное решение - сменить провайдера - взять того, у которого таких недоработок будет поменьше.

Цитата ("Alex_Koval"):
БД обновляется и ни одно из обновлений нельзя потерять.


Обновления терять, конечно, недопустимо. Что-ж, тогда можно БД реплицировать с ведущего сервера на резервный, однако все запросы обновления направлять только на ведущий. Если ведущий станет недоступным, исправить DNS (или как-то еще перенаправить весь трафик на резервный) и обновлять БД на резервном. При восстановлении ведущего, выполнить обратную синхронизация резервного на ведущий и перезапустить репликацию. Это придется делать вручную. Если недоступным станет резервный - тогда просто перенаправить весь трафик на ведущий и ждать когда резервный починят.

Цитата ("Alex_Koval"):
Можно подробнее о балансировке нагрузки? Прописываются DNS более, чем одного сервера?

Да, для одного и того же домена в DNS прописывается несколько записей "A". По запросу клиента, DNS выдает все записи, клиент выбирает какую-то одну из них. В общем и целом получается более-менее (с точностью процентов 30%) равномерное распределение клиентов по IP адресам.

Более сложные схемы балансировки это использовать или frontend reverse proxy (напр. всеми любимый nginx), или пожертвовать под это дело выделенный сервер, или использовать "железный" балансировщик нагрузки (какое-нибудь cisco или что-то в этом роде). Все эти решения не помогут, впрочем, если у провайдера "проблемы с каналом". Далее, можно попробовать приспособить CDN (или построить свое) но это уже будет слишком затратное решение и вряд ли Ваш сайт его окупит.
Алекс К.
1623 сообщения
#14 лет назад
Illarion_SA, спасибо большое за развернутый ответ. Буду думать что использовать в моем случае.
Евгений О.
263 сообщения
#14 лет назад
Цитата ("Alex_Koval"):
Illarion_SA, спасибо большое за развернутый ответ.


Пожалуйста, рад был Вам помочь.

Цитата ("Alex_Koval"):
Буду думать что использовать в моем случае.


В аналогичной ситуации я бы соотносил затраты на создание зеркала сайта с его бюджетом (или доходностью) и размером потерь от его простоя. Для сайта с малым оборотом, самым эффективным решением, наверное, будет перенести сайт к другому провайдеру с большим временем "наработки на отказ".
Алекс К.
1623 сообщения
#14 лет назад
Цитата ("Illarion_SA"):

В аналогичной ситуации я бы соотносил затраты на создание зеркала сайта с его бюджетом (или доходностью) и размером потерь от его простоя. Для сайта с малым оборотом, самым эффективным решением, наверное, будет перенести сайт к другому провайдеру с большим временем "наработки на отказ".


В том-то и дело, что сайт родился из seo-эксперимента с нулевым или почти нулевым бюджетом. Так как эксперимент, в общем, удался, сносить его не хочется. Тем более, что неожиданно там начали регистрировать домены))). Домишко пока не подводил, но если будут повторяться проблемы - буду искать куда переносить или пробовать делать зеркало.