Как я могу поделиться переменными между различными экземплярами WebSphere со сбалансированной нагрузкой?
У меня есть веб-приложение, развернутое на сервере WebSphere Community Edition (WAS CE) на четырех разных компьютерах для целей балансировки нагрузки. Я хочу хранить некоторые постоянные переменные / объекты среди четырех серверов. Если я изменю переменную в веб-приложении на одном сервере, эта же копия должна быть доступна для веб-приложений на трех других серверах. Поскольку эти переменные / объекты не связаны с пользовательским сеансом, sticky-сеанс здесь не поможет. Является ли JNDI лучшим решением? Пожалуйста, поделитесь своими знаниями о любых других лучших решениях / методах.
ОС: Linux
Сервер приложений: редакция WebSphere Community (WAS CE).
1 ответ
Если эти значения не меняются во время выполнения, поместите эти переменные в ServletContext
сфера будет наиболее разумным.
Если эти значения изменятся во время выполнения, они должны будут находиться на носителе, доступном для всех серверов в вашем кластере. Я не уверен, что JNDI будет работать для вас (я не могу вспомнить ничего из спецификации JEE, предписывающей синхронизацию деревьев JNDI между контейнерами); структуры распределенного кэша, такие как EHCache, имели бы больше смысла.