Развертывание JBoss без перезапуска сервера - PullRequest
1 голос
/ 07 декабря 2010

У меня проблема с развертыванием программного обеспечения.Мы используем JBoss 4.2.3.

Пожалуйста, позвольте мне объяснить типичный процесс развертывания, который я сейчас выполняю:

  1. Копирование EAR, WAR и JAR на сервер.
  2. Останов сервера.
  3. Копирование EAR, WAR и JAR для развертывания папки.
  4. Запуск сценария обновления базы данных.
  5. Запуск сервера.

Я искал способ избежать перезапуска сервера.Потому что это вызвало много проблем и много неудобств.Например, мне приходилось отправлять электронные письма в большой список, чтобы запланировать время простоя сервера.

Другая проблема состоит в том, что у нас есть 2 сервера, которые взаимодействуют друг с другом удаленно через SOAP, если один сервер выходит из строя., это, вероятно, вызовет некоторые проблемы с синхронизацией данных.

Горячее развертывание мне не помогло.Иногда я получал исключения загрузчиков классов, а иногда и проблемы с кешем.

Я думал о кластеризации, но не совсем уверен, сработает ли это.

Есть ли у кого-нибудь подобный опыт?Какие-нибудь решения или предложения?

Заранее большое спасибо.

ps я должен опубликовать это на serverfault вместо stackoverflow?(Я предпочитаю здесь, потому что я разработчик:)

1 Ответ

3 голосов
/ 07 декабря 2010

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

Если вы все сделаете правильно (это сложно, но выполнимо), то у вас нет простоев. Вы должны убедиться, что серверы могут сосуществовать во время непрерывных обновлений, и обеспечить обратную совместимость обновлений вашей базы данных, но этого можно достичь.

...