Насколько разумно вести учет пользовательских сессий в контексте приложения? - PullRequest
0 голосов
/ 29 марта 2012

Моя цель состоит в том, чтобы отслеживать всех зарегистрированных пользователей на моем веб-портале, чтобы разработать какое-то приложение для администрирования, которое предоставляет статистику пользователям-администраторам. У меня есть представление о том, как его развить, но я не уверен, что это правильно. По сути, слушатель помещает пользовательский объект в контекст сервлета, а сервлет входа в систему будет заполнять его информацией о пользователе каждый раз, когда пользователь входит в систему, а также другой информацией.

Спасибо, даже если вы только прочитали это!

1 Ответ

1 голос
/ 29 марта 2012

Фактически, вы всегда храните данные сеанса где-то внутри контекста приложения. Вам решать, где его хранить, в зависимости от рабочей нагрузки - вы можете хранить его либо в самом сервлете (то есть в его собственной памяти), либо где-то еще (например, в выделенной базе данных). Выбор второго варианта заставит вас использовать дополнительные интерфейсы и передачи данных (между вашим сервлетом и БД), но он гораздо более масштабируем и является лучшим вариантом для больших рабочих нагрузок. Проще говоря, если у вас 10 активных сессий и высокая активность, вам лучше использовать локальную память. Если у вас более 100 тыс. Активных сессий и низкая активность - какой-то общий ресурс - ваш выбор. Оптимально начать с локальной памяти, а затем выполнить некоторое нагрузочное тестирование, чтобы определить, нужен ли вам отдельный домен данных для сеансов.

...