Я настраиваю Liferay на Tomcat 7 для кластеризации. Я искал в Интернете и нашел несколько инструкций. Прочитав их все, у меня возникли некоторые вопросы. Буду признателен, если кто-нибудь поможет мне.
О. Я знаю, что вставив следующую строку в server.xml в "${CATALINA_HOME}/conf", он настраивает Tomcat со значениями по умолчанию, как описано в документации Tomcat (ссылка):
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
Вот некоторые из важных значений по умолчанию:
1– Многоадресный адрес – 228.0.0.4
2 – Многоадресный порт – 45564 (порт и адрес вместе определяют принадлежность к кластеру.
3 – Широковещательный IP-адрес: java.net.InetAddress.getLocalHost().getHostAddress() (убедитесь, что вы не передаете 127.0.0.1, это распространенная ошибка)
4– TCP-порт, принимающий сообщения репликации, – это первый доступный серверный сокет в диапазоне 4000–4100
5– Настроены два прослушивателя ClusterSessionListener
6. Настроены два перехватчика TcpFailureDetector и MessageDispatch15Interceptor.
Поскольку моя кластерная среда небольшая (два экземпляра Tomcat), я думаю, что конфигурации по умолчанию будет достаточно.
В#А. Я хотел бы знать, что именно означает пункт № 3. Как я могу сделать эту ошибку?
B. На основании вышеизложенного в конфигурации по умолчанию используется динамическая кластеризация по IP-адресу 228.0.0.4. Я предполагаю, что это широковещательный адрес (поправьте меня, если я ошибаюсь). Если это так, эта ссылка гласит:
В среде Linux большая часть ядра системы способна обрабатывать многоадресный адрес. но нам нужно добавить запись маршрута в таблицу маршрутизации ядра.
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
Вопрос#Б. Что это значит? Как я могу знать, должен я это или нет?
C. В качестве следующего шага для кластеризации мне нужно добавить элемент «‹distributable/›» в мой файл web.xml веб-приложения. Для каждого веб-приложения в папке "${CATALINA_HOME}/webapps" на сервере имеется один файл web.xml. Я так понимаю, что все они должны иметь этот элемент для включения в репликацию сеанса (поправьте меня, если я ошибаюсь).
Вопрос#С1. Я нашел еще один файл «web.xml» с префиксом «liferay-» для каждого веб-приложения. Должны ли они рассматриваться как еще один web.xml и иметь этот элемент?
Вопрос#С2. Есть ли способ добавить элемент «‹distributable/›» в одно место и применить его ко всем веб-приложениям? Какой-то родительский/глобальный файл "web.xml"?
D. В некоторых инструкциях говорится, что атрибут "distributable='true'" должен быть добавлен к элементу "‹Context›" в файле "${CATALINA_HOME}/conf/context.xml". А некоторые не инструктируют.
В#Д. Является ли эта конфигурация обязательной? Каковы последствия наличия этого атрибута и его отсутствия?
Заранее спасибо.