Как скопировать веб-приложение Java на второй компьютер для обеспечения «высокой доступности» и отказоустойчивости или «аварийного переключения»? - PullRequest
1 голос
/ 14 октября 2011

Я хочу иметь возможность обновлять свое оборудование в любое время без перерывов в работе моего веб-приложения, т. Е. В любой момент отключить один из компьютеров, заменить или обновить его, снова подключить и настроить, чтобы оно получало всеназад, включая все изменения на диске, которые также произошли с другим компьютером, в то время как приложение wep продолжало работать как обычно на другом компьютере.И наоборот.

В общем, я хочу иметь возможность выполнять сквозную репликацию отказа моего сервера.

Какой самый простой способ добиться этого, и при этом работатьправильно?

И, кроме самого простого способа, это также можно сделать на уровне веб-приложений, чтобы я мог использовать / пробовать разные серверы приложений (Glassfish, JBoss и т. д.) для каждого компьютера или это должноодин и тот же сервер приложений (например, Glassfish + Glassfish или JBoss + JBoss)?Я не привязан ни к одному серверу приложений.

1 Ответ

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

Как минимум, вам нужно иметь репликацию на уровне приложений - это сервер приложений, поэтому, если это Tomcat (или что-то подобное), вы можете прочитать эту статью в качестве начала. Основная идея заключается в том, что программное обеспечение высокой доступности решит, на какой сервер направить запрос. Поэтому, если что-то случится с srv1, тогда srv2 автоматически вступит во владение. Но самая важная вещь - это репликация состояний, то есть если вы перейдете на srv2 в случае сбоя srv1, тогда пользователям не нужно повторно регистрировать или терять информацию. Чтобы достичь этого, вы можете использовать общую базу данных для информации о состоянии или использовать программное обеспечение , которое поможет вам в этом - основная идея последнего подхода заключается в том, что память реплицируется через 2 (или подробнее) экземпляры приложения (если вы не используете отдельную общую базу данных). Проверьте этот вопрос (вместе с ответом) для получения дополнительной информации

...