Масса виртуальных хостов с котом - PullRequest
2 голосов
/ 13 апреля 2011

Я использую tomcat 5.5 для обслуживания более 100 сайтов (предположим, my-gwt-site-1.com - my-gwt-site-100.com).
Все мои сайты используют один экземпляр ранее развернутого приложения gwt, единственное отличие между ними - в разделе конфигурации «Host» в файле server.xml:

<Host name="my-gwt-site-1.com" appBase="webapps">
<Context path="" reloadable="true" docBase="/my-gwt-app/" debug="1"
unpackWARs="false" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" crossContext="true">

<Resource name="jdbc/mysql/db_1" auth="Container" type="javax.sql.DataSource"

initialSize="2" maxActive="50" maxIdle="5" 
maxWait="15000" removeAbandoned="true" removeAbandonedTimeout="2"
validationQuery="select now();"

username="root" password="pass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db_1"
/>
</Context>

и повторяет все мои сайты ...

<Host name="my-gwt-site-100.com" appBase="webapps">
<Context path="" reloadable="true" docBase="/my-gwt-app/" debug="1"
unpackWARs="false" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" crossContext="true">

<Resource name="jdbc/mysql/db_100" auth="Container" type="javax.sql.DataSource"

initialSize="2" maxActive="50" maxIdle="5" 
maxWait="15000" removeAbandoned="true" removeAbandonedTimeout="2"
validationQuery="select now();"

username="root" password="pass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db_100"
/>
</Context>

единственная причина, по которой я это делаю, заключается в том, что моему приложению необходимо использовать отдельный ресурс для каждого домена.
Когда число разделов «host» в server.xml составляет около 5, это не проблема, но когда он увеличивается примерно до 10 или более, сервер Tomcat запускается успешно, но он не может загрузить любой мой сайт (кажется, что он падает в фон молча!)
Я хочу знать, является ли это хорошим решением для добавления большого количества тегов "host" в server.xml или есть лучший способ сделать это? Внимание, я просто хочу использовать один код с отдельными базами данных для всех моих сайтов.
Другой вопрос заключается в том, сколько java-сайтов (каждый с около 500 пользователями и низким трафиком) обычно можно запустить на одном сервере (с 2-мя процессорами Quand Core и 4 ГБ ОЗУ)?

...