По умолчанию данные Tomcat хранит сессии в памяти.
При использовании кластеризации существуют два подхода: DeltaManager и BackupManager.
С изменениями DeltaManager на сеанс на одном узле реплицируются на все остальные узлы кластера. Если один узел умирает, полный сеанс доступен в любом узле, к которому клиент переходит.
С BackupManager вещи немного сложнее. Для каждого сеанса один узел является основным узлом (к которому обращается клиент), одним из узлов является резервная копия (где поддерживается полная копия сеансов), а все остальные узлы являются сеансами прокси (они знают только, где первичная и резервная сеансы - они не содержат данных). Когда узел умирает, клиенты выбирают другой узел наугад. Если они выбирают узел резервного копирования, этот узел становится основным, выбирается новая резервная копия и обновляются все прокси. Если они выбирают прокси-узел, этот узел становится основным, копирует данные из резервной копии и все прокси обновляются. Для этого необходимо использовать липкие сеансы.
Я часто нахожу, что это помогает, когда мы думаем о том, что BackupManager рассмотрит четыре узла (A, B, C & D) в кластере, который поддерживает 60 пользовательских сеансов. Поскольку сеансы распределяются циклически по узлам, вы должны завершить следующее:
Узел A будет иметь 15 первичных сеансов, 5 сеансов, резервное копирование для узла B, 5 резервных копий для резервных копий узла C и 5 для узел D. Он также будет иметь 30 сеансов прокси для оставшихся сеансов, которые подробно определяют, какие узлы являются их основной и резервной.
Узел В будет иметь 15 первичных сеансов, 5 сеансов резервных копий для узла A, 5 резервных копий для узлов C и 5 резервных копий для узла D. Он также будет иметь 30 сеансов прокси для остальных сеансов, которые детализируют, какие узлы являются их первичными и резервное копирование.
Узел C будет иметь 15 первичных сеансов, 5 сеансов резервных копий для узла A, 5 резервных копий для узлов B и 5 резервных копий для узла D. Он также будет иметь 30 сеансов прокси для остальных сеансов, которые детализируют, какие узлы являются их первичными и резервное копирование.
Узел D будет иметь 15 первичных сеансов, 5 сеансов резервных копий для узла A, 5 резервных копий для узлов B и 5 резервных копий для узла C. Он также будет иметь 30 сеансов прокси для оставшихся сеансов, которые детализируют, какие узлы являются их первичными и резервное копирование.
Существует также множество опций конфигурации для управления тем, как и когда данные реплицируются между узлами. Подробные сведения см. В документах Tomcat.
Duplicate: http://stackoverflow.com/q/1922048/1140748 –