美文网首页
Session 共享方案总结

Session 共享方案总结

作者: maven_hz | 来源:发表于2017-11-30 01:07 被阅读0次

    Session sticky

    对访问的ip进行hash。然后通过Nginx 跳转固定的web-server。这样保证了同一个用户访问的Server保持不变,session自然不会消失。

    优点:

    • 只需要改nginx配置,不需要修改应用代码
    • 负载均衡,只要hash属性是均匀的,多台web-server的负载是均衡的
    • 可以支持web-server水平扩展(session同步法是不行的,受内存限制)

    缺点

    • 单个Server宕机或重启之后,部分session会消失,该部分用户需要重新登录
      session本身就有有效期,即使部分用户需要重新登录,事实上也是可以接受的,所以缺点也没有那么明显

    Session 复制

    session在各web-server间复制,保证每一个web-server有全部的用户session

    优点:

    • 实现方便,tomcat有集成插件。配置即可,建议访问量不大的小型系统使用

    缺点:

    • 互相复制增加了网络内网的开销,每台web-server都存了全部session,数据冗余严重,内存占用大。

    cookie中存储Session

    Session加密后存储在cookie中,这样Session就存放在了客户端,服务端无状态化。

    缺点:

    • 安全性差。用户数据容易泄露。只适合敏感度不高的系统

    Session cache

    将所有登录信息存在redis的集群中,每一次的用户请求都去redis cache 中获取用户登录状态。

    优点:

    • 安全
    • 跟web-server无关,不管是宕机还是更新重启都不影响已登录用户
    • 方便水平扩展

    缺点:

    • 增加运维成本
    • 增加了一次额外的后端调用
    • 需要增加相应的代码

    相关文章

      网友评论

          本文标题:Session 共享方案总结

          本文链接:https://www.haomeiwen.com/subject/iaqebxtx.html