Какой наилучший метод достижения полной избыточности на выделенном сервере?

Какой наилучший метод достижения полной избыточности на выделенном сервере?

Я читал о полной избыточности, позволяющей достичь почти, если не 100%-ной, бесперебойной работы критически важных приложений (обработки финансовых данных), работающих на выделенном сервере, но я все еще не могу понять, как это можно сделать.

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

2) Если мы сделаем то, о чем я говорил в #1, что произойдет, если основной сервер снова включится в сеть? Как основной сервер сможет наверстать все изменения, сделанные на резервном сервере?

3) Есть ли определенное руководство, которое я мог бы прочитать о том, как лучше всего это сделать? Я уже искал в Google, но то, что я в основном встречаю, нам не подойдет, потому что наши веб-приложения не могут быть недоступны более 5 минут, и мы не можем потерять данные за 5 минут.

4) Есть ли сервис, который мог бы сделать это для нас? Поскольку у нас уже есть выделенный сервер, сервис должен будет работать в существующей рабочей среде. Но я бы предпочел, если бы я мог узнать, как я могу сделать это сам.

Я был бы очень признателен, если бы вы указали мне правильное направление.

решение1

Это полностью зависит от архитектуры и возможностей доступности конкретных используемых приложений.

Поддерживает ли ваша база данных кластерное развертывание? Зеркальное/реплицированное развертывание? Оба варианта? Каковы недостатки каждого из них? Каков процесс отказоустойчивости/восстановления? Требования к распределению ресурсов? А как насчет вашего веб-приложения? Можно ли его кластеризовать? Балансировка нагрузки? Оба варианта? А как насчет вашего интернет-провайдера? Есть ли у вас резервные интернет-подключения? Из разных каналов, идущих в разные стороны здания, чтобы строительство не затмило оба? Какова ваша конфигурация питания? Есть ли у вас резервные линии питания? Резервные ИБП? Генератор для центра обработки данных?

На эти вопросы здесь не нужно отвечать — их цель — показать вам, как выглядит верхушка айсберга при проектировании такого типа решения. 100% бесперебойной работы — недостижимая цель, но если вы хотите максимально приблизиться к ней, вам следует нанять кого-то, у кого есть опыт в этом, поскольку, судя по содержанию вашего вопроса, вы к этому еще далеки.

решение2

MDMarra прав, это не тот вопрос, на который здесь можно дать однозначный ответ (+1).

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

Когда руководство начинает жаловаться на цену, будьте готовы к обсуждению стоимости простоя по сравнению с избыточностью. Хорошее практическое правило заключается в том, что каждая десятичная точка (99,9% -> 99,99% -> и т. д.) соответствует еще одному нулю в конце стоимости, поэтому, скорее всего, все сведется к хорошо исследованному проекту и исполнению, которые соответствуют техническим потребностям и соображениям руководства по стоимости. Очень неразумно создавать решение за миллион долларов для защиты приложения за 1000 долларов.

Однако если руководство выписывает вам пустой чек, я уверен, что найдется много людей, которые захотят проконсультироваться =)

Связанный контент