2016-06-01 4 views
1

Мне очень любопытно узнать о о том, как профессиональные программисты расширяют веб-приложение. Я сделал значительные исследования, но не смог получить информацию о этапах масштабирования, это может быть связано с тем, что производительность сервера зависит от многих факторов. Тем не менее, я уверен, что некоторые детали могут быть установлены примерно.Этапы масштабирования приложения Java EE

Например,

1.) Сколько одновременного запрос может один сервер Tomcat ручка с достойной реализацией и достойным оборудованием?

2.) В какой момент должен быть задействован сервер балансировки нагрузки?

3.) Когда становится понятным полный стек Java EE (JBoss/Glassfish)?

+0

Я думаю, что этот вопрос принадлежит [programers.stackexchange.com] (http://programmers.stackexchange.com/) –

ответ

-1

Я чувствую, что это несколько основано на мнениях, но, в конечном счете, «это зависит».

Например, сколько груза может обрабатывать Tomcat? Это зависит. Если вы отправляете статическую HTML-страницу для каждого запроса, тогда ответ «alot». Если вы каждый раз пытаетесь вычислить первые 100 000 простых чисел, то, вероятно, не так много.

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

Я переместил веб-приложение из Tomcat в Glassfish, а затем Wildfly, когда захотел воспользоваться некоторыми дополнительными функциональными возможностями Java EE, в частности JMS, CDI и JPA. Я мог бы использовать TomEE и закрепить его, но унифицированная среда с унифицированным интерфейсом управления была хорошей выгодой. Возможно, вам никогда не понадобится это делать. Вы можете легко добавить части, которые вы хотите (т. Е. CDI и JPA), довольно легко для Tomcat.

Обратите внимание, что я не двигался с Tomcat на полный EE-сервер для повышения производительности - я хотел использовать большую часть стека EE. В то время как у Wildfly есть некоторые интерфейсы управления, которые упрощают управление кластером, я мог бы без проблем использовать Tomcat.

Итак, опять же, «это зависит». Если вам не нужно больше стека EE, чем Tomcat, то полный EE-сервер вполне может быть переполнен. Не слишком сложно реализовать набор серверов Tomcat за балансировщиком нагрузки Apache HTTPD (или Amazon one) поверх базы данных, которая также кластеризована. Если этого достаточно для вас, я буду придерживаться этого. Не прыгайте на Wildfly и т. Д. Для просто производительности, так как вы вряд ли увидите огромное изменение в любом направлении.

Смежные вопросы