1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dengdai68-hsession

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 3.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 04:48 f1843c7

hsession 介绍

hsession — это небольшой инструмент, который решает проблему совместного использования сессий в J2EE-проектах. Он позволяет сохранять сессии активными даже при переадресации запросов одного и того же пользователя на несколько веб-серверов.

Конфигурация web.xml

<!-- Этот фильтр должен быть размещён на самом верху списка фильтров, иначе возможно, что фильтры, расположенные выше, будут получать сессии не из memcache. Если фильтры выше не используют сессии, то это не повлияет на работу -->
  <filter>
    <filter-name>sessionFilter</filter-name>
    <filter-class>com.hsession.filter.HSessionFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>sessionFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

Конфигурация cache.properties

# Тип кэша. Можно использовать другие классы для реализации com.hsession.cache.Cache
cache.type=com.hsession.memcached.MemCached
# IP:порт memcached-кэша. Используется распределённый memcache-сервер
cache.servers=121.43.106.57:11211
cache.server.weights=10

Maven-зависимости от сторонних библиотек

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.7</version>
</dependency>
<dependency>
    <groupId>com.whalin</groupId>
    <artifactId>Memcached-Java-Client</artifactId>
    <version>3.0.0</version>
</dependency>

Однако у hsession могут возникнуть проблемы, которые необходимо учитывать:

  • Распределённые memcached-серверы используют хеш-алгоритм для распределения запросов по разным серверам. Если один из серверов memcached выйдет из строя, это может привести к потере сессий для группы пользователей, которым потребуется повторно войти в систему.
  • Неэффективная оптимизация memcached может привести к ненужному использованию памяти или потере данных.
  • Memcached не является стабильным сервером хранения данных и может привести к неопределённой потере данных, что может вызвать неожиданные отключения пользователей. В качестве оптимизации можно использовать базу данных в качестве вспомогательного инструмента или напрямую использовать Redis.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dengdai68-hsession.git
git@api.gitlife.ru:oschina-mirror/dengdai68-hsession.git
oschina-mirror
dengdai68-hsession
dengdai68-hsession
master