У меня есть веб-приложение Java, которое развертывается на двух виртуальных машинах. и для этих виртуальных машин устанавливается NLB (балансировка сетевой нагрузки). В моем приложении используются сеансы. Я смущен тем, что управление сеансом пользователя выполняется в обеих виртуальных машинах. Для примера. Если я делаю запрос, который переходит на VM1 и создает сеанс пользователя. Теперь второй раз я делаю запрос, и он переходит на VM2 и хочет получить доступ к данным сеанса. Как он найдет сеанс, который был создан в VM1.Как управлять сеансами в распределенном приложении
Пожалуйста, помогите мне устранить эту путаницу.
Наиболее распространенным подходом является «липкие сеансы», где балансировщик нагрузки направляет трафик на сервер, на котором был создан сеанс. если сервер идет вниз, сеанс теряется. EC2 может быть настроен для завершения сеансов перед снятием с эксплуатации машины. Другим решением является кластер сеансов, но это будет особенностью сервера приложений/технологий, на которых вы создаете приложение. Или иметь информацию о сеансе хранения приложений в базе данных. Еще одно решение - сделать ваше приложение без сеанса. – slipperyseal
также, что JB сказал :) – slipperyseal