Каковы мои варианты в распространении приложения J2EE на нескольких серверах? - PullRequest
1 голос
/ 03 мая 2011

Я использую JSP + Struts2 + Tomcat6 + Hibernate + MySQL в качестве среды разработки J2EE. Первый этап проекта завершен, и он запущен на одном сервере. из-за растущих масштабов веб-сайта ожидается, что в будущем мы столкнемся с некоторыми проблемами с производительностью.

Итак, мы хотим распространить приложение на несколько серверов. Какие у меня есть варианты?

Ответы [ 3 ]

4 голосов
/ 03 мая 2011

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

И тогда оптимизация, например, зависит от вашего варианта использования.

Например, если у вас есть приложение только для чтения, добавьте узкое место, как Java Server и Database, тогда вы можете настроить два сервера базы данных и два java-сервера.

Аппаратное обеспечение тоже очень важно. Может самый простой способ обновить оборудование. Но это будет работать только в том случае, если аппаратное обеспечение является узким местом.

2 голосов
/ 03 мая 2011

Вы можете использовать любой сервер приложений J2EE, который поддерживает кластеризацию (например, WebLogic, WebSphere, JBoss, Tomcat). Вы уже используете Tomcat, поэтому вы можете использовать их решение для кластеризации. Обратите внимание, что каждое предложение обеспечивает разные уровни поддержки кластеризации, поэтому вам следует провести некоторое исследование, прежде чем выбирать конкретный сервер приложений (убедитесь, что это правильное решение для кластеризации для ваших нужд).

Кроме того, перенос кода из автономной в кластерную среду часто требует значительного объема работ по разработке. Помимо всего прочего, вам нужно убедиться, что ваше приложение не использует локальные файлы в файловой системе (в любом случае, это плохая практика J2EE), это состояние (HTTP-сеансы или EJB с сохранением состояния - если есть) - корректно. распространяется на все узлы в вашем кластере и т. д. Как правило, чем больше не будет состояний, тем более плавным становится переход в кластерную среду.

1 голос
/ 03 мая 2011

Поскольку вы используете Tomcat, я бы рекомендовал взглянуть на mod_cluster.Но я предлагаю вам рассмотреть настоящий сервер приложений, такой как JBoss AS.Кроме того, обязательно запустите некоторые тесты производительности и поймите, где узкое место вашего приложения.Бросать больше серверов приложений неэффективно, если, например, узкое место в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...