Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Различия между кластеризацией и высоким уровнем доступности (HA)

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

Сведения о топологиях развертывания для GitHub Enterprise Server

Виртуальные машины можно развернуть для экземпляра GitHub Enterprise Server в разных топологиях в зависимости от потребностей вашей среды и пользователя.

  • Для поддержки плана аварийного восстановления и дополнения резервных копий, а также для повышения производительности сети и записи для географически распределенных пользователей можно настроить высокий уровень доступности. В конфигурации с высоким уровнем доступности один узел выступает в качестве основного, а другие — в качестве реплик.

  • Чтобы обеспечить горизонтальное масштабирование для сред с десятками тысяч разработчиков, доступна топология кластера. Кластеризация решает ситуации, когда на одном первичном узле обычно возникает нехватка ресурсов. Эта конфигурация требует тщательного планирования и дополнительных административных издержек. GitHub будет работать с вами, чтобы определить ваши права на кластеризация.

Сценарии сбоев

Высокий уровень доступности (HA) и кластеризация обеспечивают избыточность, устраняя один узел в качестве точки отказа. Они могут обеспечить доступность в следующих сценариях:

  • Аварийное завершение программного обеспечения из-за сбоя операционной системы или неустранимых ошибок приложений.
  • Сбои оборудования, включая оборудование для хранения данных, ЦП, ОЗУ, сетевые интерфейсы и т. д.
  • Сбои системы узла виртуализации, включая незапланированные и запланированные события обслуживания для AWS, Azure или GCP.
  • Обрыв логической или физической структуры сети, если резервное устройство находится в отдельной сети, не затронутой сбоем.

Масштабируемость

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

Различия в методе отработки отказа и конфигурации

КомпонентКонфигурация отработки отказаМетод отработки отказа
Настройка высокого уровня доступностиЗапись DNS с низким TTL указывает на основное устройство или подсистему балансировки нагрузки.Необходимо вручную повысить уровень устройства реплики в конфигурациях отработки отказа DNS и подсистемы балансировки нагрузки.
КластеризацияЗапись DNS должна указывать на подсистему балансировки нагрузки.Если узел за подсистемой балансировки нагрузки выходит из строя, трафик автоматически отправляется на другие функционирующие узлы.

Резервное копирование и аварийное восстановление

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

Наблюдение

Функции доступности, особенно с автоматической отработкой отказа, такие как кластеризация, могут скрыть сбой, так как служба обычно не прерывается при сбое. Независимо от того, используете ли вы высокий уровень доступности или кластеризация, важно отслеживать работоспособность каждого экземпляра, чтобы вы знали, когда происходит сбой. Дополнительные сведения о мониторинге см. в разделах Рекомендуемые пороговые значения оповещений и Мониторинг узлов кластера.

Дополнительные материалы