6.2. HTTP 会话加密和激活
6.2.1. 关于 HTTP 会话清理和激活 复制链接链接已复制到粘贴板!
传递是 控制内存使用情况的过程,方法是从内存中移除相对未使用的会话,同时将其存储在持久存储中。
激活 是在从持久存储中检索到传递的数据并重新放入内存中时。
在 HTTP 会话生命周期的不同时间进行传递:
- 当容器请求创建新会话时,如果当前活动会话的数量超过可配置的限制,服务器会尝试释放一些会话以便为新会话腾出空间。
- 部署 Web 应用并且新部署 Web 应用会话管理器获取在其他服务器上活跃的会话备份副本时,可能会传递会话。
如果活跃会话的数量超过可配置的最大值,则将传递会话。
会话始终使用最早使用(LRU)算法进行传递。
6.2.2. 在应用程序中配置 HTTP Session Passivation 复制链接链接已复制到粘贴板!
HTTP 会话传递是在应用的 WEB-INF/jboss-web.xml 和 META-INF/jboss-web.xml 文件中配置 的。
示例: jboss-web.xml 文件
<max-active-sessions> 元素指定允许的最大活跃会话数,用于启用会话引用。如果会话创建将导致活跃会话数超过 <max-active-sessions>,则会话管理器已知的最旧的会话将传递,以便为新会话腾出空间。
内存中的会话总数包括从此节点上未访问的其他群集节点复制的会话。设置 <max-active-sessions> 时 请考虑这一点。从其他节点复制的会话数量还取决于是否启用了 REPL 或 DIST 缓存模式。在 In REPL 缓存模式中,每一会话复制到每个节点。在 DIST 缓存模式中,每个会话仅复制到由 owner 参数 指定的节点数。有关配置会话 缓存模式 的信息,请参阅 JBoss EAP 配置指南 中的缓存模式。例如,考虑一个 8 节点集群,其中每个节点处理来自 100 个用户的请求。使用 REPL 缓存模式时,每个节点都会将 800 个会话存储在内存中。启用 DIST 缓存模式后,每个节点的默认 所有者 设置将 200 个 会话存储在内存中。