Прикрепленные сеансы и репликация сеансов

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

Но похоже, что репликация сеанса обычно используется с прикрепленными сеансами, в противном случае идентификатор сеанса должен быть изменен всякий раз, когда запрос поступает на какой-либо другой узел. ref: http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html#Bind_session_after_crash_to_failover_node

Может ли кто-нибудь объяснить, каково реальное использование репликации сеанса, если вам нужно включить липкий сеанс? Потому что тогда вы без необходимости копируете сеанс на каждом узле, когда запрос с заданным идентификатором сеанса всегда направляется к одному и тому же узлу. Это может быть полезно в случае сбоя узла, но тогда это случается нечасто и использование репликации сеанса только для этого кажется излишним.

26
задан Ashish 16 June 2011 в 06:14
поделиться

1 ответ

Просто чтобы прояснить проблемы конфигурации в JBoss 5.X во «базовой» конфигурации с помощью mod_jk. Установка липких сессий в файле worker.properties

 worker.list=loadbalancer

 ... nodes configuration omitted

 worker.loadbalancer.balance_workers=node1,node2
 worker.loadbalancer.sticky_session=True

не препятствует репликации сессий. Чтобы отключить репликацию сеанса на JBoss, нам нужно установить в $ JBOSS_HOME \ server \ YOUR_NODE_NAME \ deploy \ cluster \ jboss-cache-manager.sar \ META-INF \ jboss-cache-manager-jboss-beans.xml cacheMode параметр до LOCAL.

Обычно в сценарии с фиксированным сеансом нам не нужна репликация сеанса, так как мы не хотим дополнительных накладных расходов, связанных со значительным количеством операций ввода-вывода, необходимых для репликации сеансов.

Фактически, если вы работаете с липкими сессиями, нам не нужно запускать JBoss в конфигурации «all», мы можем использовать конфигурацию «по умолчанию» или «стандартную».

Единственное, что нужно сделать, - это изменить в $ JBOSS_HOME / server / YOUR_NODE_NAME / deploy / jbossweb.sar / server.xml:

<Engine name="jboss.web" defaultHost="localhost" jvmRoute="YOUR_NODE_NAME">
0
ответ дан 28 November 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: