Переместить приложение в кластеры Websphere - PullRequest
4 голосов
/ 02 сентября 2010

О чем нам следует позаботиться перед переносом приложения с одного сервера приложений Websphere на кластер Websphere

Ответы [ 3 ]

9 голосов
/ 06 февраля 2011

Это мой список из опыта.Он не является полным, но должен охватывать наиболее распространенные проблемные области:

  • Планирование конфигурации распределенного управления сеансами (т. Е. Будете ли вы использовать репликацию из памяти в память или на основе базы данных).Обратите внимание, что если вы все еще работаете на 32-битной платформе, из-за избыточных требований к ресурсам из-за кластеризации у вас могут возникнуть проблемы с нестабильностью, если ваше приложение уже использует много памяти.сериализуется с сериализатором по умолчанию (реализует Serializable).В противном случае вы можете столкнуться с проблемами с распределенными сеансами.
  • То же самое относится ко всему, что вы помещаете в DynaCache.Убедитесь, что все сериализуется правильно.
  • Укажите и убедитесь, что все определения ресурсов (провайдеры JDBC и т. Д.) Будут выполнены в надлежащем объеме.Обычно я рекомендую использовать фактическую область действия кластера для всего, что ваши приложения установлены для кластерного использования.Это гарантирует, что функции тестирования работают должным образом с правильных точек, и что вы не делаете противоречивые определения.
  • Убедитесь, что ваше приложение использует относительные пути для ресурсов в веб-интерфейсах.Как только вы начнете балансировать нагрузку и все такое, вы можете столкнуться с некоторыми серьезными проблемами, если у вас есть много вещей.
  • Если у вас были какие-либо таймеры, убедитесь, что они хорошо работают с кластерами.С Quartz это означает, что, вероятно, вам следует использовать хранилище JDBC для задач таймера.С помощью EJB-таймеров убедитесь, что вы регистрируете таймеры только один раз (можно повредить базу данных таймеров WAS, если несколько узлов пытаются выполнить регистрацию в одно и то же время) и убедитесь, что вы устанавливаете их в область действия кластера.
  • Убедитесь, что вы используете механизмы SSO, предоставляемые WAS.Если у вас есть пользовательская реализация, убедитесь, что она хорошо обрабатывает перемещение пользователя между серверами в кластере.
2 голосов
/ 18 октября 2011

Проще говоря, в зависимости от ваших требований, попробуйте настроить балансировщик нагрузки на использование закрепленных сеансов, а не удерживать состояние в сеансе HTTP.Таким образом, вам не нужно использовать ресурсоемкие ресурсы при репликации сеансов памяти.

Единая регистрация не является проблемой для одного кластера, поскольку ваши HTTP-клиенты не будут перемещаться с одного и того же http://server.acme.com/... host domain name.

Большая часть вашего тестирования должна быть сосредоточена на конфликте базы данных.Если у вас приложение с высокой степенью транзакций (т.е. много записей в одну и ту же таблицу), убедитесь, что вы смотрите на уровни изоляции базы данных, чтобы блокировки не удерживались без необходимости.То же самое относится и к демаркации транзакции.Сделайте транзакции максимально короткими.Если у вас нет навыков работы с базами данных, убедитесь, что вы получили аналитика базы данных, который поможет вам контролировать базу данных во время тестирования.

0 голосов
/ 07 октября 2011

Также хороший совет поднять PMR в службу поддержки IBM перед любыми существенными изменениями, такими как это или обновление до новых версий и т. Д. Поднимите его как «Вопрос об использовании программного обеспечения», и они могут предоставить вам отзывы отбаза знаний, основанная на мнении других клиентов.То же самое относится к любому типу продукта, для которого у вас есть соглашение о поддержке - обратитесь в службу поддержки, прежде чем возникнут проблемы.

...