Веб-приложение: высокая доступность / как предотвратить единственную точку сбоя?
Может ли кто-нибудь объяснить мне, как высокая доступность ("HA") работает для веб-приложения ... потому что я предполагаю, что ха означает, что не существует единой точки отказа.
Однако, даже если используется балансировщик нагрузки-разве это не единственная точка отказа?
4 ответа:
Я нашел эту статью на эту тему: http://www.tenereillo.com/GSLBPageOfShame.htm
В принципе, если вам не требуются длительные липкие сеансы, вы можете настроить DNS-серверы на возврат нескольких записей A (IP-адресов) для вашего веб-сайта.
Веб-браузеры достаточно умны, чтобы попробовать все адреса, пока они не найдут тот, который работает.
Простыми словами высокая доступность может быть определена как запуск системы 24*7 без простоя, даже если есть аппаратные и программные сбои. Другими словами, приложение отказоустойчивости. Это помогает обеспечить бесперебойное использование приложения для его предполагаемых пользователей.
Подробнее о архитектуре развертывания высокой доступности
Ha архитектура-это целая область, и на нее было написано несколько книг, поэтому трудно ответить в коротком абзаце.
Чтобы подвести итог идеальной ситуации, вы будете использовать несколько серверов, соединенных между собой на уровне нескольких балансировщиков нагрузки. Узлы и LB будут расположены в нескольких различных центрах обработки данных и подключены к различным сетевым магистралям. В идеале центры обработки данных будут расположены по всему миру.
Короче говоря, все компоненты будут иметь избыточность, включая балансировщик нагрузки.
Отправную точку смотрите в Википедии для кластера высокой доступности
Это работает следующим образом: вы устанавливаете два прокси-сервера HA с heartbeat, поэтому, когда один из них выходит из строя (перестает отвечать на запросы), он удаляется из кластера. Запросы от прокси-сервера HA можно переадресовывать на веб-серверы в циклическом режиме, и если один веб-сервер терпит неудачу, прокси-серверы HA не пытаются связаться с ним, пока он не ожил. Веб-серверы хранят всю динамическую информацию в базе данных, которая реплицируется через два экземпляра MySQL. Как вы можете видеть, ха прокси-сервера и кластера MySQL (или просто репликация MySQL) , а также кластеризация IP здесь является ключом.