集群之后Session问题4种解法

  • Session Sticky
  • Session Replication
  • Session数据集中储存
  • Cookie Based

6.8.1. 1&2 省事 不用动代码

6.8.2. 3 使用广泛

根据各团队 情况 自己选择 最合适的方案

具体 操作细节 自行百度一下<<大型网站系统与Java中间件实践>> 一书中 有详细解说


Eova如何拓展成分布式SessionOSSController extends IndexController

  1. @Override
  2. public void doLogin() {
  3. ...省略....
  4. setSessionAttr(EovaConst.USER, user); // 改成使用分布式Session 存用户登录对象
  5. ...省略....
  6. LoginInterceptor
  7. @Override
  8. public void intercept(Invocation inv) {
  9. ...省略....
  10. // 获取登录用户的角色
  11. User user = inv.getController().getSessionAttr(EovaConst.USER); // 改成从分布式会话中读取
  12. ...省略....

后续版本中,会默认提供分布式的支持,即 使用分布式缓存实现session!

在默认未提供之前大家可以使用 上文提到的 1,2,4 方案,或自行实现.

如无技术能力进行相关开发的,可以联系Eova作者进行有偿私人定制开发!QQ:1623736450 非VIP用户勿扰!