Распространение конфигурации в кластере WAS с помощью MOM - PullRequest
3 голосов
/ 25 ноября 2011

Я занимаюсь разработкой приложения, которое встроено в кластерную среду в Websphere AS.Я использую несколько узлов, и иногда мне бы хотелось изменить настройки конфигурации на лету и распространить их на все узлы в кластере.Я не хочу хранить конфигурацию в БД, или, по крайней мере, я хотел бы кэшировать ее на уровне узла и запускать действие по обновлению конфигурации, которое заставляет каждый узел обновлять конфигурацию с некоторого общего основания (например, с помощью БД или сетевого диска), чтобыИзбегайте постоянных обращений к хранилищу конфигурации.

Более того, некоторая конфигурация не может быть сохранена в БД, т. Е. Уровень журнала необходимо применять к объекту регистратора в каждом узле отдельно.

Я думал об использовании JMS Topics и публикации / подписки для достижения этой цели.Идея состоит в том, что каждый узел может подписаться на каждую тему, и независимо от того, какие узлы инициируют изменение конфигурации, будет распространяться на все узлы в кластере.

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

Tx заранее, Marcin

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Вот несколько вариантов, которые следует рассматривать как альтернативу JMS -

  • Использовать Записи среды Java EE . Они относятся к приложению, и WAS автоматически распространяет любые изменения на все серверы, на которых развернуто приложение. Это хороший подход, поскольку он является стандартным подходом Java EE к конфигурации приложения, если он достаточно устойчив, чтобы удовлетворить ваш вариант использования.

  • Использование Совместно используемой библиотеки WebSphere . Это позволяет вам связывать ваши приложения со статическими файлами, внешними по отношению к вашему приложению (то есть в файловой системе), чтобы они были доступны в вашем пути к классам. Хотя эти файлы находятся в файловых системах узлов, существует способ разместить эти файлы в централизованном хранилище конфигурации WebSphere таким образом, чтобы они автоматически распространялись на все узлы WAS. Подробнее об этом см. этот ответ .

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

0 голосов
/ 02 декабря 2011

В настоящее время мы решили проблему, возможно, не самым красивым подходом, а самым простым. Поскольку мы используем только 2 узла, у нас есть возможность войти в веб-интерфейс определенного узла, где мы изменяем настройки для каждого узла. Может быть, это не очень красиво, но пока это самый простой способ. Конфигурация хранится в БД, и мы планируем запустить перезагрузку конфигурации в каждом узле и изменить уровень журнала для каждого узла.

...