2016-11-15 7 views
0

В общем, я хочу понять в распределенном приложении - это балансировка нагрузки одной точки отказа?Распределенное приложение - это балансировка нагрузки одной точки отказа?

Я не уверен, но это может быть балансировщик нагрузки Apache или на верхней части этого устройства/Harware балансировки нагрузки в provisoned от F5 Network и т.д.

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

У меня была дискуссия с моим коллегой - сопоставление нескольких IP-адресов/виртуальных машин/блоков Unix (с аппаратным устройством балансировки нагрузки) в том же DNS-домене (например, www.amazon.com), но тогда кто будет заботиться о какой базис/запрос алгоритма пойдет в какой конкретный блок IP/unix (который отображается на amazon.com/DNS)

Мой вопрос: в начале потока запросов (в первой точке ввода) - есть только одна машина (которая отправляет запросы под балансировщиками на основе некоторого алгоритма), и если эта машина терпит неудачу, система с разбросом (с несколькими балансировщиками нагрузки и кластерами и т. д.) wil вниз

+0

Я не мог понять, в чем ваш вопрос. Можете ли вы это четко изложить? – karliwson

ответ

1

Извините, если я выдуваю ее из любой пропорции ,

Имея в виду определение единой точки отказа (SPOF), если LB не удается ваше приложение будет недоступен, так короче, да один LB или обратный прокси-сервер является SPOF.

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

Как справиться с проблемой?

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

К тому же, архитектура, в которой я буду следовать (аналогично тому, что вы видели на бумагах, как сказано), представляет собой две LB перед вашей инфраструктурой (более двух, только если у них есть трудности с обработкой трафика) и Балансировка нагрузки DNS между ними.

Ну, конечно, это решение имеет недостатки, DNS агностик о состоянии вашего внутреннего интерфейса, так что вы не имеете отказоустойчивость функциональность.

Вы можете обратиться к этому, используя надежную систему мониторинга в сотрудничестве с вашим DNS, чтобы выполнить автоматическое изменение DNS и, таким образом, функцию перехода на другой ресурс. Снова вы должны признать, что DNS привязан к Time To Live (TTL), и некоторые клиенты будут кэшировать «неправильный» ip в момент сбоя.

Ну, как вы понимаете, вышеизложенное не является совершенным, но, вероятно, (чаще всего) - это ваш единственный путь.

Для ситуаций, когда есть еще меньше допусков на время простоя (даже для подмножества клиентов), я оставлю пару альтернатив.

  1. Balancer Global Server Load (GSLB), его обслуживание и как это вы будете покупать. Он всегда прилагает все усилия для того, чтобы маршрутизировать трафик по своему усмотрению, либо к активной пассивной архитектуре, например, как «Первичная катастрофа» или «Активно-активный», например, один центр обработки данных в США и другой в Азии. Конечно, это решение (за исключением того, что это будет стоить довольно много) звучит легко реализуемо, хотя имейте в виду все, что вам нужно учитывать, чтобы это нормально работало. Я не буду глубоко разбираться в технических вопросах. Я просто упомянул, что вам понадобится двойное оборудование, которое должно будет настроить его для самостоятельной работы между вашими центрами обработки данных, хотя в полной синхронизации, если это необходимо.

  2. Протокол пограничного шлюза (BGP), вам придется реализовать это с помощью ваших isps. Реализация здесь может быть довольно сложной и должна быть настраиваемой, чтобы быть оптимизированной для ваших нужд. Опять здесь, как и раньше, у вас все головная боль двойной инфраструктуры. Но если вы дошли до этого решения, скорее всего, вы будете работать в нескольких местах.

Сказав все вышеизложенное, одного мощного LB, размещенного в облаке, будет достаточно для большинства веб-приложений/сайтов.