Сервер Linux с балансировкой нагрузки через Интернет?

Я изучаю настройку серверного решения с балансировкой нагрузки, состоящего из трех блоков CentOS 5.4. Два из этих ящиков будут находиться в одном учреждении, а третий - в другом.

В настоящее время я работаю над настройкой heartbeat, ldirectord, ipvsadm для балансировки нагрузки на машины, но я не уверен, что он будет работать с

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

3 ответа

Решение

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

Когда вы имеете дело с тяжелым веб-приложением для записи, это затрудняет распределение нагрузки по Интернету при сохранении целостности данных. Чтение ориентированных приложений (поиск!) Легче распространять, так как вам не нужно заботиться о логистике написания данных.

ipvs позволяет Linux по сути стать коммутатором 4 уровня. У меня был наибольший успех при использовании его на уровне 2 (ARP/ethernet- канальный уровень), и это был бы мой первый выбор, но может быть целесообразно использовать что-то вроде LVS-Tun для географически отдельных серверов, которые не имеют соединение на уровне вещания. Обратите внимание, что ipvsadm - это пользовательский инструмент для ipvs, а ldirectord - это демон для управления ресурсами ipvs.

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

Вы можете добавить больше логики в процесс отработки отказа. Например:

Если path1 не работает, path2 не работает, этот процесс не запущен, и я не могу этого сделать - затем восстановление после сбоя.

Это снижает риск, но даже в этом случае необязательно физически соединять серверы на небольшом расстоянии.

Используя статический контент, вы легко сможете использовать сеть распространения контента.

Простая балансировка нагрузки и отработка отказа могут быть выполнены с помощью Round Robin DNS, что более ошибочно.

Border Gateway Protocol - это сетевой протокол, который может обеспечить высокую доступность на сетевом уровне.

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

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

Наличие разных серверов в разных местах не должно быть проблемой, пока они не смогут связаться друг с другом.
Проблемой будет пропускная способность между ними и то, что вы делаете на нем.
Heartbeat не использует snmp и может быть многоадресной, одноадресной или широковещательной. Это определенный протокол (в любом случае snmp работает между lans sicne, это протокол udp).
Какие службы пытаются сбалансировать нагрузку?

Другой идеей будет реализация DRBD с высокой доступностью. Проверьте этот сайт http://www.drbd.org/home/what-is-drbd/

Другие вопросы по тегам