Кейс: экономичный способ повысить отказоустойчивость сайта

Задача

К нам обратился системный администратор интернет-магазина. Клиент размещал сайт на виртуальном сервере у хостинг-провайдера. Там же хранились бэкапы.

Резервное копирование защищает от потери данных, но не от простоя сервиса. У провайдера может отказать оборудование, выйти из строя сеть, или система электропитания — и сайт станет недоступен посетителям. Нельзя отменить форс-мажоры, но можно застраховаться от них.

Клиент решил позаботиться об отказоустойчивости сайта — продублировать его в нашем виртуальном дата-центре.
Системным администраторам Airnode поставили задачу: если основной сервер недоступен входящий трафик должен переключаться на резервную копию. При этом решение должно быть простым и экономичным: без большого количества серверов, потребляющих ресурсы.

Решение

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

Следующим шагом создали балансировщик нагрузки на HAProxy. Он отвечает за то, чтобы сайт всегда был доступен клиентам.

Как это работает

Весь трафик поступает на балансировщик.
Балансировщик постоянно мониторит доступность основного сервера в инфраструктуре хостера. Если IP-адрес сервера не отвечает, все запросы автоматически перенаправляются на резервную машину:

Серверы в виртуальном дата-центре дополнительно защищены. Это возможно благодаря механизму живой миграции — переноса виртуальной машины с одного физического сервера на другой без прекращения его работы. Все элементы сети трижды зарезервированы. Данные также хранятся в трех экземплярах в распределенном хранилище Ceph.

Результаты

Инфраструктура, созданная для сайта, сравнительно небольшая. Но балансировщик нагрузки и резервный сервер находятся в дополнительно защищенном виртуальном дата-центре, поэтому снижается риск простоя.
Подобное решение хорошо подойдёт для небольших проектов.

Хотите так же?

Звоните 8(800)500-19-58 или пишите info@airnode.ru

  • проконсультируем
  • бесплатно поможем подобрать техническое решение
  • предоставим тестовый доступ в виртуальный дата-центр на 14 дней

Оставайтесь на связи!

Подписывайтесь на обновления нашего блога