Tomcat 6 - Cluster / BackupManager - PullRequest
       45

Tomcat 6 - Cluster / BackupManager

2 голосов
/ 28 мая 2010

У меня есть вопрос, касающийся кластеризации (репликация / восстановление сеанса) в Tomcat 6 с использованием BackupManager. Причина, по которой я выбрал BackupManager, заключается в том, что он реплицирует сеанс только на один другой сервер.

Я собираюсь просмотреть пример ниже, чтобы попытаться объяснить мой вопрос.

  • У меня настроено 6 узлов в кластере Tomcat 6 с BackupManager. Внешний интерфейс - это один сервер Apache, использующий mod_jk с включенной липкой сессией
  • Каждый узел имеет 1 сеанс каждый. узел1 имеет сеанс от клиента1 узел2 имеет сеанс от клиента2 .. ..
  • Теперь допустим, что node1 отключается; при условии, что узел2 является резервной копией, узел2 теперь имеет два сеанса (для клиента2 и клиента1)
  • В следующий раз, когда client1 сделает запрос, что именно произойдет? Апач "знает", что узел 1 не работает и отправляет запрос напрямую на узел 2?

    = ИЛИ =

    он пробует каждый из 6 экземпляров и выясняет, кто является резервной копией?

1 Ответ

3 голосов
/ 28 мая 2010

Не слишком уверен в работе с BackupManager, мое прочтение этого хорошего URL предполагает, что репликация достаточно умна при идентификации резервной копии.

Репликация сеанса в памяти, есть данные сеанса реплицируются по всем Экземпляры Tomcat в кластере, Tomcat предлагает два решения, репликация во всех случаях внутри кластера или репликации в только его резервный сервер, это решение предлагает гарантированные данные сеанса репликация ...

SimpleTcpCluster использует Apache Tribes для поддержания связи с группой связи. Членство в группах устанавливается и поддерживается Apache Tribes, оно обрабатывает сбои сервера и восстановление. Apache Tribes также предлагает несколько уровней гарантированной доставки сообщений между членами группы. Это достигается обновлением внутрисессионной памяти, чтобы отразить любые изменения данных сеанса, репликация выполняется сразу между членами ...

Вы можете уменьшить объем данных на с помощью BackupManager (отправить только один узел, резервный узел)

Вы сможете увидеть это из журналов, если установлена ​​notifyListenersOnReplication="true".

С другой стороны, вы все равно можете использовать DeltaManager и разделить ваш кластер на 3 домена по 2 сервера в каждом.

Скажем, это будет узел 1 <-> узел 2, 3 <-> 4 и 5 <-> 6.

В таком случае - настройка рабочего атрибута domain гарантирует, что репликация сеанса будет происходить только внутри домена.

И тогда mod_jk определенно знает, какой сервер искать при сбое узла 1.

http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html состояния

В настоящее время вы можете использовать домен рабочий атрибут (mod_jk> 1.2.8) для построить кластерные разделы с потенциал иметь более масштабируемый Кластерное решение с DeltaManager (вам нужно настроить перехватчик домена для этого).

И лучший пример по этой ссылке:

http://people.apache.org/~mturk/docs/article/ftwai.html

См. Раздел «Модель кластеризации домена».

...