jndi кластеризация - PullRequest
1 голос
/ 29 мая 2011

У меня есть несколько вопросов о JNDi и clustring:

  1. Когда EJB развернут, автоматически ли он "регистрируется" в JNDI?

  2. Я читал, что для доступа к кластерному EJB-компоненту WebSphere мне нужно искать что-то вроде: "cell / cluster // ejb / ... - концепция" cell "- это концепция Websphere или концепция J2EE?

  3. У меня странное требование - я хочу кластеризовать, но не обязательно с использованием WebSphere - то есть у меня есть кластер WebSphere: C состоит из серверов A и B, а также у меня есть еще один веб-сервер D с другим Приложение развернуто, чем A и B, но с тем же интерфейсом SessionBean, тем же API. Я хочу иметь возможность создать балансированный / кластеризованный вызов для EJB и позволить ему один раз выполнить на A, один раз на B и один раз на D.

Ответы [ 3 ]

1 голос
/ 29 мая 2011
  1. Да, EJB всегда доступен для поиска через JNDI после его развертывания. Это предписано спецификацией EJB. Имя, под которым он вставлен, стандартизировано. См. EJB-Naming и службы каталогов в Википедии.
  2. "ячейка" является специфической для Вебсферы. Хотя спецификация Java EE в целом и, в частности, спецификация EJB предполагают, что кластеризация существует, и налагают несколько ограничений для упрощения кластеризации, на удивление мало определено API и стандартов именования, которые явно касаются кластеризации (JCA 1.6 является одним из немногих, которые приходит в голову).
  3. Это действительно звучит странно. Если я правильно понимаю, разрешено всего 3 звонка (от 1 до A, от 1 до B и от 1 до D), и тогда все службы должны быть остановлены? Может быть, вы не хотите что-то подобное;)
1 голос
/ 29 мая 2011
  1. Нет.Но это зависит от дескриптора развертывания / аннотаций EJB.
  2. Это термин из WebSphere (http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-node-cluster-server/).
  3. Насколько я знаю, если вы развернете свой EJB в кластер, он автоматически будет сбалансирован по нагрузке.
0 голосов
/ 30 мая 2011
  1. Регистрация фактически выполняется при запуске приложения EJB.Он использует информацию DD для регистрации на сервере WAS JNDI

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

  3. Кластеризация в WAS работает с предпосылкойчто одно и то же приложение развернуто на всех серверах, входящих в кластер hte.Фактически, если сервер является частью кластера, вы не можете развернуть приложение на этом сервере.Его можно развернуть только на уровне кластера, и инфраструктура WAS развертывает одно и то же приложение на всех элементах кластера.

Round-robin - это политика WLM, которую можно настроить на сервере.Другой вариант имеет вес для каждого элемента кластера.

HTH

Manglu

...