извините, если вопрос немного двусмысленный, но я впервые настраиваю балансировщик нагрузки, и я немного обеспокоен.
Я хочу создать кластер Glassfish, сейчас я перехожу по этой ссылке: http://javadude.wordpress.com/2011/04/25/glassfish-3-1-clustering-tutorial/
В приведенном выше руководстве один из узлов работает также как балансировщик нагрузки (DAS - Сервер администрирования домена). В моем сценарии, конечно, я намерен построить 3 узла, один из которых будет балансировать нагрузку для двух других.
Все довольно ясно, но может ли кто-нибудь подсказать мне, что делать, если узел, который действует как балансировщик нагрузки, выходит из строя?
Любая информация будет принята с благодарностью.
Я не могу говорить конкретно о стеклянной рыбке, но создание отказоустойчивых систем LB с парой LB, из которых активна только одна, - это нормально.
Если LB являются приложениями, это делается аппаратно - у вас будет пара, обычно с некоторым прямым подключением между ними, для мониторинга / пульса, а иногда и для обмена состояниями. Если LB является программным и работает на одном из сбалансированных узлов, вполне нормально запускать второй LB на другом узле пула.
Обеспечение того, чтобы один и только один LB работал в любой момент времени, важно, и здесь не так просто. В частности, для программных решений хорошая реализация STONITH и соответствующее оборудование могут действительно помочь.
редактировать Относительно вашего комментария: Я понимаю вашу точку зрения, но нет. Обычно это делается с помощью инфраструктуры, которая знает, что должен работать один и только один экземпляр чего-либо - в данном случае LB - и использует плавающий IP-адрес для обработки аварийного переключения между ними двумя. В программном обеспечении под Linux это часто делается с помощью чего-то вроде LinuxHA и CRM, работающих как на первичных, так и на вторичных узлах LB, которые обеспечивают выполнение процесса LB только на одном узле и гарантируют, что первичный не работает, если он решает продвинуть вторичное.