Какова распространенная практика для таргетинга внешних серверов в Oracle WebLogic Server

Попытались придумать что-то, приближающееся к простой и прямолинейной модели для таргетинга ресурсов JMS в WebLogic (насколько я знаю, шанс на жирность). Очереди и темы могут легко и интуитивно отображаться на серверах JMS, работающих на серверах WebLogic, но внешние серверы и ресурсы внутри них кажутся более сложными.

В обоих WLS 10.0 и 10.3 внешние серверы, во-первых, не определены рядом с серверами JMS, а как члены модуля JMS. Во-вторых, они по умолчанию нацелены на целевой модуль JMS, в котором они определены, то есть кластер WLS или сервер WLS, в отличие от "не-иностранных" ресурсов, предназначенных для JMS-серверов через Subdeployments.

Однако с помощью расширенного таргетинга также можно настроить таргетинг на внешние серверы на серверах JMS. Это приводит к модели, которая намного более симметрична по отношению к иностранным/ "не-иностранным" ресурсам JMS.

Расширенное таргетирование http://dexter.xebialabs.com/Media/foreign_server_advanced_targeting.png

Итак, вопросы:

  • Есть ли какие-либо причины, кроме исторической аварии, почему таргетинг на ресурсы "Заграничный ресурс" и "не-иностранный" настолько отличается (внешние ресурсы по умолчанию на кластере WLS или сервере WLS или не-иностранные ресурсы на серверах JMS)?
  • Существует ли какая-либо общая или лучшая практика для таргетинга на иностранные и иностранные ресурсы?
  • Есть ли причины, по которым вы не хотели бы нацеливать внешние серверы на JMS-серверы через Subdeployments?

Спасибо заранее!

Эндрю Филлипс

Ответы

Ответ 1

1) Иностранные JMS-серверы были определены как автономные компоненты, аналогичные коннекторам, мостам обмена сообщениями и т.д. Эти компоненты (исторически) целевые серверы приложений или кластеры непосредственно вместо промежуточного компонента, такого как JMS-сервер.

С более поздними выпусками Oracle пытается объединить как внутреннюю, так и иностранную JMS под универсальным зонтиком. Однако целевые варианты были разными. Чтобы обеспечить гибкость с помощью JMS-части, были внедрены вспомогательные развертывания. По-видимому, Oracle, по-видимому, была расширена подразделениями для иностранных серверов для обеспечения согласованности, что делает вещи довольно сложными/беспорядочными.

Я бы не назвал это несчастным случаем, так как новые версии продолжают соответствовать этой настройке:)

2) Для приложений, развернутых в кластерах, вам нужно будет создать один JMS-модуль для всего кластера. Несколько определений вашего соединения factory будут искажать балансировку нагрузки JMS.

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

3) Зарубежные серверы (особенно с IBM MQ) могут иметь множество сложных проблем, если вы запускаете > 16 параллельных MDB. Мы избегали внешнего сервера → Сервер JMS → Управляемый сервер, чтобы сократить дополнительный уровень абстракции/сложности inorder, чтобы упростить конфигурацию. Вы также уменьшаете риск того, что исключения вашего внешнего сервера замаскированы криптовальным исключением JMS-сервера (у меня нет никаких доказательств этого).

Один партнер команды предположил, что настройка сервера Foreign Server → Application Server была более высокой, но команда Oracle A подтвердила, что это только логическое/эстетическое изменение и не имеет большого значения.

Надеюсь, что это поможет!

Ответ 2

Хотя я не специалист в этой области, мое понимание в этой теме было следующим: Основой было разделение вопросов "что" и "как" в jms-modules и jms-серверах. Модули JMS управляют сообщениями и получателями, а jms-серверы управляют тем, как эти сообщения хранятся и доставляются.

Когда речь идет о внешних серверах JMS, возможно, это становится мутным. Ресурс - это просто пункт назначения, а "как" теоретически является проблемой внешнего сервера.