2010-08-02 2 views
4

Если вы хотите разместить несколько, довольно независимых приложений на сервере Glassfish, вам нужны отдельные домены? В частности:Когда вам нужно использовать отдельные домены в Glassfish?

  1. Могут ли приложения в том же домене каким-либо образом мешать друг другу?
  2. Могут ли разные приложения в одном домене прослушивать разные IP-адреса/порты?

Если да, то когда/почему вы действительно используете отдельный домен?

ответ

6

С логической точки зрения отдельные домены или сосуществование нескольких приложений в одном домене схожи (вы можете настроить HTTP-порты и т. Д.).

Главное отличие состоит в том, что в одном случае у вас есть одна JVM, работающая со всеми приложениями, а в другом случае у вас несколько JVM. Это может иметь большое значение. На одном из наших клиентских сайтов мы изначально развернули все в одном домене/JMV, но, наконец, решили разделить развертывание в нескольких доменах/JVM, потому что оно давало лучшую производительность, особенно время сбора мусора. Так что да, приложения могут вмешиваться, но очень косвенно.

Кроме того, приложения Java EE не могут быть действительно остановлены или запущены, поэтому домен - это самый маленький блок, который можно включать и выключать. В некоторых случаях это удобно.

И, наконец, есть вещи, которые относятся к домену, например, к приложению. уровни журнала сервера, постоянство таймера и т. д. Если вам нужны два приложения с разными настройками для таких вещей, вам понадобятся два домена.

1

Рассмотрите этот сценарий. У вас есть 2 приложения, развернутые в вашем домене: легкое приложение для внешнего интерфейса и приложение для обработки бэкэнд (скажем, выполняйте задание по расписанию каждый час и обрабатывая огромное количество данных). В таком случае у вас может возникнуть проблема с бэкэнд-приложением, в котором будут задействованы все ресурсы, которые ваша виртуальная машина делает непривлекательной для внешнего приложения, в экстремальных сценариях или, что еще хуже, убить jvm (скажем, из-за ошибки памяти или ошибок пространства gen).

Если вы разделили это на два домена, даже если ваш бэкэнд тормозит, другое приложение безопасно, поскольку оно имеет собственную виртуальную машину и память для игры.