Открыть сервис

Высокая доступность

Высокая доступность (англ. high availability, HA) — это характеристика системы, оборудования или сервиса, которая отражает их способность непрерывно выполнять свои функции в течение заданного интервала времени, несмотря на возникновение отказов отдельных компонентов или внешних воздействий. Количественно высокая доступность выражается в проценте времени, в течение которого система доступна для использования, по отношению к общему плановому времени работы (обычно за год). Целью обеспечения высокой доступности является минимизация простоев и обеспечение бесперебойной работы критически важных приложений и данных.

История и предпосылки

Понятие высокой доступности возникло в середине XX века с развитием первых компьютерных систем, используемых в военной, авиационной и банковской сферах, где сбои могли привести к катастрофическим последствиям. В 1950–1960-х годах для повышения надёжности применялись дублирование компонентов и резервное копирование данных. С появлением мейнфреймов в 1970-х годах (например, IBM System/360) начали внедряться технологии горячего резервирования и кластеризации. В 1980-х годах, с распространением локальных вычислительных сетей, концепция HA стала применяться к серверам и базам данных. Современная парадигма высокой доступности окончательно сформировалась в 1990–2000-х годах с развитием интернета и облачных вычислений, когда требования к непрерывности работы веб-сервисов стали повсеместными.

Метрики и уровни доступности

Высокая доступность традиционно измеряется через показатель доступности (availability, Uptime), который вычисляется как отношение времени безотказной работы к общему времени эксплуатации. Стандартная шкала доступности, известная как «правило девяток», выглядит следующим образом:

Уровень доступностиПроцент доступностиДопустимое время простоя в год
Один девять90 %36,5 дней
Два девятки99 %3,65 дня
Три девятки99,9 %8,76 часа
Четыре девятки99,99 %52,6 минуты
Пять девяток99,999 %5,26 минуты
Шесть девяток99,9999 %31,5 секунды

Для большинства современных интернет-сервисов и промышленных систем целевым считается уровень «три девятки» (99,9 %) и выше. Критически важные системы (например, авиадиспетчерские, медицинские, финансовые) требуют «пяти девяток» и более.

Принципы обеспечения высокой доступности

Обеспечение высокой доступности базируется на нескольких фундаментальных принципах:

Отказоустойчивость (Fault Tolerance)

Система должна быть спроектирована так, чтобы отказ любого отдельного компонента (сервера, диска, сетевого интерфейса, источника питания) не приводил к остановке всей системы. Это достигается за счёт избыточности (резервирования) аппаратных и программных средств.

Избыточность (Redundancy)

Ключевой механизм HA — наличие резервных компонентов, которые автоматически вступают в работу при отказе основных. Различают несколько видов избыточности:

Автоматическое восстановление (Failover)

При обнаружении отказа система должна автоматически переключаться на резервный компонент без вмешательства человека. Время переключения (failover time) должно быть минимальным, часто измеряется секундами или долями секунды.

Мониторинг и обнаружение отказов

Непрерывный мониторинг состояния всех компонентов (heartbeat-механизмы, проверки доступности, сбор метрик) позволяет своевременно выявлять сбои и инициировать процедуры восстановления.

Техническое обслуживание без простоев

Система HA должна позволять проводить плановые обновления, замену оборудования и профилактические работы без остановки сервиса (rolling upgrades, live patching).

Архитектурные подходы

Существует несколько основных архитектурных моделей для построения высокодоступных систем:

Кластеры высокой доступности

Группа серверов (узлов), работающих как единое целое. При отказе одного узла его нагрузку принимает другой. Примеры: Microsoft Failover Cluster, Red Hat High Availability Add-On, Pacemaker.

Активно-пассивная схема (Active-Passive)

Один сервер (активный) обрабатывает запросы, второй (пассивный) находится в режиме ожидания. При сбое активного сервера пассивный активируется. Обеспечивает простоту, но требует времени на переключение.

Активно-активная схема (Active-Active)

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

Географически распределённые системы

Серверы размещаются в разных дата-центрах (регионах, странах). Позволяет пережить отказ целого ЦОДа или стихийное бедствие. Требует синхронизации данных между площадками.

Облачные платформы

Провайдеры облачных услуг (Amazon Web Services, Microsoft Azure, Яндекс.Облако) предоставляют встроенные механизмы HA: автоматическое масштабирование, балансировщики нагрузки, репликацию данных, зоны доступности. Пользователь может настраивать HA на уровне приложения, не управляя физической инфраструктурой.

Технологии и компоненты

Для реализации высокой доступности используются следующие технологии:

Применение

Высокая доступность критически важна в следующих областях:

Критика и ограничения

Несмотря на очевидные преимущества, обеспечение высокой доступности связано с рядом сложностей и ограничений:

См. также

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →