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

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

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

В производственной среде даже минутный простой недопустим. В настоящее время я знаю только о том, HA Cluster systemчто используется для этой цели. Я хотел бы узнать, является ли это единственным способом предотвращения отключения системы или, кроме этого, есть ли какие-либо другие способы?

Что крупные компании, такие как Google, используют для обеспечения высокой доступности, если они также не потерпят даже секунды простоя?

Спасибо

решение1

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

Одним из решений может быть описанный ниже подход:

  1. Keepalived установлен на обеих системах.
  2. HAProxy как балансировщик нагрузки с переключением на HAP LB 2. Мониторинг с помощью keepalived
  3. Apache/NGINX за HAP. Если один из них выйдет из строя, HAP будет отслеживать его и перенаправлять на Apache/NGINX на другом сервере
  4. MySQL Master / Master репликация, балансировка нагрузки и мониторинг через HAP

По сути, HAProxy распределяет нагрузку по вашей системе и перенаправляет ее только на одну из служб, если она запущена и работает.

Архитектура, которую вы ищете, может выглядеть так:

введите описание изображения здесь

решение2

Это зависит от того, для каждого приложения и каждого уровня модели OSI должна быть создана своя собственная система высокой доступности.

Но для начала вы можете узнать о ha-proxy, keepalived и nginx с бэкэндом

решение3

Система сильна настолько, насколько сильно ее самое слабое звено.

В типичной производственной среде будет множество всего. Небольшой веб-кластер может состоять из балансировщика нагрузки, нескольких обратных прокси-серверов, нескольких http-серверов, узлов базы данных master/slave или master/master. В этой настройке единственный балансировщик нагрузки будет слабым звеном; если он умрет, ничего не будет работать. Более крупные среды воспроизводят это, но в большем масштабе.

В конечном итоге проектирование сети будет зависеть от предполагаемого использования.

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