Я новичок в веб-приложениях. Мое требование заключается в том, чтобы пользователь получал доступ к URL-адресу, который может обслуживаться двумя серверами — первичным и вторичным.
Когда Primary выходит из строя, запросы этого URL должны автоматически перенаправляться на вторичный сервер, чтобы теперь он служил вместо Primary (и как только Primary возобновит работу, он снова станет сервером для всех входящих запросов). Как этого можно добиться?? Будет ли скрипт, который будет выполнять эту задачу для меня?? и где этот скрипт будет запускаться?
Какой подход мне выбрать? Пожалуйста, поделитесь своими соображениями.
Спасибо.
решение1
Какую операционную систему ты используешь?
Два распространенных способа сделать это — использовать балансировщики нагрузки и кластеры.
Наиболее простым методом было бы разместить аппаратный балансировщик нагрузки перед веб-серверами. LB будет определять, когда сервис недоступен на узле, и перенаправлять трафик на другой узел. Существует также много методов программного обеспечения HA/балансировки нагрузки.
В кластерах серверы имеют соединения heartbeat и другие методы обнаружения доступности сервисов. В активно-пассивном кластере, о котором вы, кажется, говорите, один сервер будет активным узлом, и если он выйдет из строя, другой сервер возьмет на себя обслуживание. Нет необходимости менять IP, поскольку кластер использует один виртуальный IP для внешней доступности.
Здесьэто вопрос из области SF, связанный с выполнением подобных задач с помощью Apache/Linux.
решение2
Отказоустойчивость DNS может быть полезна в ограниченном числе случаев. См.Почему не рекомендуется отказоустойчивость DNS?