Отказ Glassfish без балансировки нагрузки - PullRequest
2 голосов
/ 08 января 2009

У меня кластер Glassfish v2u2 с двумя экземплярами, и я хочу переключаться между ними. Каждый документ, который я читаю на эту тему, говорит, что я должен использовать балансировщик нагрузки перед Glassfish, например Apache httpd. В этом случае отказоустойчивость работает, но у меня снова есть единственная точка отказа. Может ли Glassfish выполнить это переключение без балансировщика нагрузки впереди?

Ответы [ 3 ]

1 голос
/ 06 марта 2009

Мы решили, что у нас есть два IP-адреса, которые оба отвечают на URL. DNS-провайдер ( DNS Made Easy ) будет округлять код между двумя. Установка минимального времени ожидания гарантирует, что в случае сбоя одного сервера другой ответит. Когда один сервер перестает отвечать на запросы, DNS Made Easy отправит другому хосту только сервер для ответа на этот URL. Вам нужно будет доверять провайдеру DNS, но вы можете купить услугу с чрезвычайно высокой доступностью поиска DNS

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

0 голосов
/ 08 января 2009

Хмм .. JBoss может выполнять аварийное переключение без балансировщика нагрузки в соответствии с документами (http://docs.jboss.org/jbossas/jboss4guide/r4/html/cluster.chapt.html) Глава 16.1.2.1. Перехватчик на стороне клиента.

Насколько я знаю, Glassfish кластер обеспечивает репликацию сеанса в памяти между узлами. Если я использую сервер приложений Suns Glassfish Enterprise, я могу использовать HADB, который обещает 99,999% доступности.

0 голосов
/ 08 января 2009

Нет, вы не можете сделать это на уровне приложения.

Ваши варианты:

  • Round-robin DNS - выставьте оба сервера в Интернет и позвольте клиенту выполнить балансировку нагрузки - это довольно привлекательно, так как обязательно включит аварийное переключение.
  • Используйте другую систему балансировки нагрузки уровня 3 - например, «Балансировка сетевой нагрузки Windows», «Балансировка сетевой нагрузки Linux» или ту, которую я написал под названием « Пушистый кластер Linux »
  • Используйте отдельный балансировщик нагрузки с горячим резервированием при сбое

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

...