Я понимаю, что вы в настоящее время загружаете нагрузку на 3 сервера, поэтому для меня уже выполняется кластеризация (часть масштабируемости), и я не уверен, что именно вы подразумеваете под их «кластеризацией». Вы имеете в виду выйти за рамки прозрачного провала?
Сериализация кластеризации сеансов: в моем случае приложение использует много объектов в сеансе. Поэтому я бы предпочел не идти с этим решением. Кроме того, в ближайшем будущем количество серверов, вероятно, увеличится до более пяти.
Это полезно, если вы не хотите, чтобы ваши пользователи теряли свою сессию, если один экземпляр падает.Если вы действительно хотите этого, вы будете нуждаться в «постоянный сеанс» (но имейте в виду, что это имеет цену исполнения), Tomcat предлагает several way осуществить это:
- с помощью сеанса упорства и сохранения сессии в общий файл system,
- с использованием сохранения сеанса и сохранения сеанса в общей базе данных,
- с использованием репликации в памяти.
Для этого потребуется какая-то настоящая скамейка, но, лично, репликация в памяти - мое предпочтительное решение (лучшие показатели). Избегайте сериализации в базу данных любой ценой (плохие результаты из моего опыта).
Терракота: Звучит интересно, но покупка лицензии на предприятие не является вариантом.
Я думаю, вы имеете в виду их кластерное решение на уровне JVM. Кластеризация JVM под приложением (и кластеризация самого приложения) - это решение IMHO, когда приложение не может быть легко сгруппировано? Но зачем вам это делать с сервером приложений, предлагающим такую функцию?
Сделать приложение без гражданства: звучит соблазнительно, хотя это немного работа. Я хотел бы услышать некоторые рекомендации по дизайну и опыт на нем.
Вы хотите сказать, что не используете HTTPSession
? Если да, то почему? с какими проблемами вы сталкиваетесь HTTPSession
? Зачем вам это делать?
Если честно, то, что вы пытаетесь достичь, мне не ясно. У вас уже есть масштабируемое решение (по вертикали и по горизонтали), ни одна точка отказа (кроме балансировки нагрузки, но хорошо ...), и очень немногие приложения (например, жизненно важные приложения, финансовые приложения) действительно нуждаются в прозрачной отказоустойчивости (в другими словами, многие могут жить без). Более того, прозрачная отказоустойчивость имеет реальную стоимость с точки зрения производительности и/или аппаратного обеспечения, которые не следует пренебрегать. Итак, настоящие вопросы: ваше предприятие потеряло столько денег, когда пользователь теряет свою сессию? Это критически/часто? Это оправдывает расходы на реализацию прозрачной отказоустойчивости?
Какова ваша цель? –