Tomcat (версия 5 здесь) сохраняет информацию о сеансе в памяти. При кластеризации эта информация периодически передается на другие серверы в кластере для обеспечения синхронизации. Вы можете использовать хранилище базы данных, чтобы сделать сеансы постоянными, но эта информация также записывается только периодически и действительно используется только для восстановления после сбоев, а не для замены сеансов в памяти.
Если вы не хотите использовать липкие сессии (наша конфигурация, к сожалению, этого не позволяет), это поднимает проблему срыва сеансов из синхронизации.
На других языках веб-платформы, как правило, позволяют использовать базу данных в качестве основного хранилища сеансов. Хотя это приводит к потенциальной проблеме масштабирования, оно делает управление сеансами очень простым. Мне интересно, есть ли способ заставить tomcat использовать базу данных для сеансов таким образом (технически это также устранит необходимость в любой конфигурации кластеризации в tomcat server.xml).