ОПЕРАЦИОННЫЕ СИСТЕМЫ: Ubuntu 12.04 LTS amd64
HTTP сервер: Apache 2.2x
Кот: Apache 7.x
JVM: openJDK 1.7
Нам нужно создать кластерную среду Tomcat 7. Мы много читали и нужно пояснение, как отличить кластеры друг от друга. Мы читаем около имея несколько кластеров, но мы не видели реального примера того, как настроить несколько кластеров.
Для простоты, как настроить эту среду?
Node 01 - Apache HTTP
running mod_jk using load balancer
Node 02 - Tomcat Server
running PROD application instance (Cluster PROD)
running TEST application instance (Cluster TEST)
running DEV application instance (Cluster DEV)
Node 03 - Tomcat Server
running PROD application instance (Cluster PROD)
running TEST application instance (Cluster TEST)
running DEV application instance (Cluster DEV)
Мы не хотим, чтобы данные сеанса распределялись между разными кластерами. Другими словами, мы не хотим, чтобы информация о кластере PROD (производственная) использовалась совместно с кластерами TEST и DEV (и наоборот).
Думаю, я понимаю, что это заявление в server.xml является ключом к различению каждого экземпляра кластера. Пожалуйста, поправьте меня, если я ошибаюсь:
<Membership
className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564" frequency="500"
dropTime="3000"
/>
Следовательно, мне просто нужно изменить поле адреса на что-то уникальное для каждого кластера? Пример:
<!-- Cluster PROD -->
<Membership
className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564" frequency="500"
dropTime="3000"
/>
<!-- Cluster TEST -->
<Membership
className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.5"
port="45564" frequency="500"
dropTime="3000"
/>
<!-- Cluster DEV -->
<Membership
className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.6"
port="45564" frequency="500"
dropTime="3000"
/>
Есть ли еще какой-нибудь совет?
Вам необходимо прочитать: http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html
Вы правильно определили многоадресный IP-адрес как метод, с помощью которого кластеры узнают о членах. Вы также можете использовать разные порты.
Если вам нужен кластер QA и производственный кластер, самая простая конфигурация - разместить кластер QA на отдельной комбинации многоадресного адреса / порта в производственном кластере.
Несколько кластеров означают несколько экземпляров Tomcat. В вашем случае узел 02 и узел 03 будут одним кластером, вам не нужно определять другой. Так что используйте только один Cluster
тег (и при этом только один Membership
требуется тег), и сеансы всех трех веб-приложений будут синхронизированы между экземплярами tomcat (веб-приложения должны иметь <distributable />
для этого в их web.xml).