常见的会话解决方案
粘性会话
Sticky Session 来自一个用户的会话,尽可能落到一台机器上 如果服务器有下线,会话信息就会不存在了,用户体验差会话复制
Session Replication 每台机器都存会话,副本信息较大,会浪费资源集中会话
Centralized Session 使用redis,Mongodb,jdbc等来实现,推荐使用
实现原理
定制HttpSession
通过定制的HttpServletRequest返回定制的HttpSession,主要是用来屏蔽差异
主要的类
-- SessionRepositoryResponseWrapper
-- SessionRepositoryFilter
-- DelegatingFilterProxy