Как кластеризовать JBoss / Blazeds и переключать каналы - PullRequest
1 голос
/ 06 апреля 2010

Я застрял с кластеризацией jboss и blazeds.Теперь у меня есть:

  1. 2 Экземпляры Jboss, работающие во всех режимах
  2. Один балансировщик нагрузки с apache и mod_jk, как рекомендует Jboss docs
  3. ПружинаИнтегрирующее приложение / flex
  4. Гибкое приложение, которое я не хочу генерировать при падении одного из моих экземпляров JBoss

Мне кажется, что документация Adobe действительно отсутствует и является новой для кластеризации,jgroups и балансировка Я не могу найти способ развертывания моего приложения в кластерной среде.

На самом деле это решение отлично работает с удаленными вызовами.Если один из экземпляров jboss выходит из строя, rpc перенаправляется на другой экземпляр.То, что не работает, это push-сообщения, потому что, если клиент подключен к JBossA и JBossA выходит из строя, клиент отображает сообщение об ошибке, в котором говорится, что он не может достичь JBossA, когда он должен переключиться на JBossB, при этом пользователь ничего не замечает.

Из того, что я понял, если настроено правильно, блэйджес должен сообщить клиенту Flex о отказоустойчивых серверах при подключении.Затем, если гибкий клиент не может подключиться к основному серверу, он переходит к другому.Но самое сложное для меня - это добраться туда.Может ли кто-нибудь указать мне правильное направление?Заранее спасибо

1 Ответ

0 голосов
/ 06 апреля 2010

Если у вас есть веб-сервер apache, расположенный между клиентами и серверами JBoss, с mod_jk, обрабатывающим связь между apache и JBoss, то это должно быть ваши требования восстановления после отказа уже выполнены.

mod_jk определит, отказывает ли один из серверов JBoss, и отправит запросы другому. Что касается клиентов, они видят один сервер, который является сервером Apache. Они не видят ничего из серверов JBoss за ним.

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

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

...