Я в настоящее время использую Tomcat6 в качестве веб-контейнера по разработке и производству.
Я слышал, что Tomcat не является лучшим исполняющим веб-контейнером для производственных сред. Это правда?
Ну, опять же, это зависит от того, как вы его видите. Tomcat может работать очень хорошо, и он используется повсеместно в производстве, с самой большой базой пользователей. Некоторые коммерческие серверы приложений используют Tomcat под капотом, даже не сообщая вам.
Конечно, вы не должны сравнивать производительность Tomcat с готовыми веб-контейнерами. Tomcat может быть настроен на гораздо более высокую производительность, чем в состоянии «из коробки». Вы можете Google: «TOMCAT производство», например, и посмотреть, как люди это удалось в реальном производстве и получить много советов, советов и т.д.
ли Tomcat достаточно с точки зрения производительности и управления памятью для использования на производстве окружающая среда?
Да, это так. Когда вам нужно больше, есть много продавцов, которые предлагают коммерческую версию Tomcat, включая мониторинг и контрольно-измерительные приборы, чтобы помочь поддерживать ваше приложение в производстве.
У нашей системы (ов) около 100-400 пользователей.
Tomcat может справиться более чем с уверенностью. В зависимости от характера вашего приложения/системы вам может потребоваться более одного экземпляра Tomcat. В реальной производственной среде будет разумно кластеризовать ваш Tomcat.
Для меня больше о том, как было написано веб-приложение, и о типе операций внутри веб-приложения.
Половина правды.
Я считаю, что хорошая архитектура и инфраструктура также сэкономит вам много времени, когда вы собираетесь сгруппировать Tomcat. Поэтому вам нужно иметь общие знания о том, как работает приложение веб-контейнера, как ваша инфраструктура обрабатывает вещи в кластерной среде и как они кластеризованы, прежде чем решать, как вы устанавливаете свой стек фреймов.
Например проблем могут возникнуть из:
- кэширования памяти в более чем одной виртуальной машины Java экземпляров
- сессия магазин (память, база данных, хранилище файлов) и его репликации
Кластеры Tomcat это не тривиальная задача, и неправильная установка вашей структуры затруднит позднее включение кластерного Tomcat.
Даже если производительность является проблемой на одном экземпляре Tomcat, возможно ли сгруппировать Tomcat?
Да, можно класть Tomcat. Способ разработки вашего приложения определяет, будет ли ваше приложение легко готово для кластеризации или будет сложнее сгруппировать. Эта проблема может быть не специфичной для Tomcat, а для серверов приложений в целом.
Некоторые вопросы, возможно, потребуется рассмотреть следующие вопросы:
- какие данные хранить в (HTTP) сессии
- где хранить сессию
- сохранить живую сессию
- использование веб-сервера балансировки нагрузки приложений обратный прокси-сервер, например Веб-сервер Apache + mod_proxy/mod_jk, Nginx, лак
- который Tomcat разъемы для использования (блокировка ввода-вывода, NiO, АПР)
Есть некоторые другие вопросы, но я думаю, что те, которые вы можете начать с.
Что вы подразумеваете под «кластеризацией»? Это термин с несколькими интерпретациями. – skaffman
Этот вопрос будет более подходящим для ServerFault, поскольку речь идет о системном администраторе, а не о программировании (как я понимаю, по крайней мере). –
Возможно, вам нужно изучить обратные прокси. Хотя tomcat достаточно хорош, но если вы хотите масштабировать свое приложение, тогда необходимо сбалансировать балансировку, несмотря на то, что вы используете – vinothkr