Arhn - архитектура программирования

Управление сеансами в среде с несколькими серверами

Предположим, у меня запущено более одного сервера веб-приложений, и я регистрирую пользователя с сервера 1, поэтому его сеанс начинается. Я использую куки, скрытую форму, она не будет работать на сервере 2.

Итак, как мне управлять сеансом? Возможно, путем создания идентификатора (или даже повторного использования сгенерированного jsessioid) и сохранения его в центральной базе данных, чтобы все серверы могли получить доступ к этому идентификатору сеанса и проверить его перед обработкой запроса. Затем в этом случае мне нужно разработать механизм для хранения всех данных сеанса как объекта в базе данных.

Есть ли другие встроенные механизмы?

15.10.2012

Ответы:


1

Если вы развертываете приложение более чем на одном сервере, вам следует использовать «Кластеризацию». Серверы приложений могут справиться с этим сценарием, используя «репликацию сеанса». При репликации сеанса каждый сервер будет иметь копию сеанса активного пользователя. ЕСЛИ первый запрос отправляется на сервер A, а второй — на сервер B, он будет прозрачен для кода приложения и конечного пользователя.

Для кластеризации/репликации сеансов в Tomcat вы можете посмотреть это ссылка.

15.10.2012
  • Если я хочу сделать это без кластеризации. Какой будет рекомендуемый подход? 15.10.2012
  • Взгляните на это - stackoverflow.com/questions/4856324 / 15.10.2012
  • По предоставленной вами ссылке я мог бы расширить HttpSession и написать свою собственную реализацию JDBC с использованием фильтра. Как это звучит ? 15.10.2012

  • 2

    Spring обеспечивает управление сеансом:

    Spring Session упрощает поддержку кластерных сеансов без привязки к решению, специфичному для контейнера приложения. Он также обеспечивает прозрачную интеграцию с:

    HttpSession — позволяет заменить HttpSession в контейнере приложения (например, Tomcat) нейтральным способом, с поддержкой предоставления идентификаторов сеанса в заголовках для работы с RESTful API.

    WebSocket — предоставляет возможность поддерживать активность HttpSession при получении сообщений WebSocket.

    WebSession — позволяет заменить WebSession Spring WebFlux в нейтральном контейнере приложения. Источник: Spring docs.

    Пожалуйста, проверьте это для получения дополнительной информации: https://spring.io/projects/spring-session#overview

    16.07.2018

    3

    Если ваша инфраструктура (Сервер 1, 2...) подключена к одному сетевому устройству, такому как Citrix Netscalar, вы можете использовать IP или сохранение файлов cookie, чтобы netscalar отправлял дальнейшие запросы на тот же сервер.

    01.12.2014
  • Здесь довольно поздно, но даже если это не самый оптимальный ответ, зачем минусовать? Ответ правильный... 20.07.2020
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..