Мы только недавно начали использовать Tomcat (6.x) в качестве контейнера сервлетов Java для различных производственных веб-приложений. Мы не используем особо продвинутые функции, и обычно конфигурация Tomcat для каждого приложения чрезвычайно проста. Мне кажется, что установка нескольких экземпляров Tomcat (что, как я понимаю, очень легко сделать как служба Windows с Tomcat 7) не сильно увеличит усилия по обслуживанию, позволяя при этом полностью изолировать каждое из наших приложений от других и, например, не будут затронуты перезапуском службы после изменения конфигурации сервера, предназначенного для помощи только одному из приложений. Высокая производительность в данном случае не критична.
Так ли это просто, или есть веские причины, по которым можно использовать экземпляры между несколькими приложениями? Дополнительный вопрос: есть ли очевидный способ перечитать конфигурацию сервера, не возвращая службу Tomcat?
Если он может справиться с этим с точки зрения производительности, я бы сказал, что используйте один экземпляр - память, вероятно, будет основной проблемой.
Компромисс заключается в дополнительном времени и усилиях на управление, указании клиентов или прокси на дополнительные порты прослушивания и т. Д. Против потенциальных проблем с производительностью, когда все работает на одном jvm - использование одной и той же кучи памяти, использование одного и того же сборщика мусора и, если бывает, сразу все рушится.