分布式Session解决方案

一、session的作用

记录用户的信息,服务器与客户端保存整个通讯的会话信息

二、相关解决方案

  1. 直接似乎用cookie替代session
    由于cookie是存在于客户端的,而session是存在于服务器端的,如果我们将用户信息存在客户端,那么数据将及其不安全,数据可能会被黑客窃取。
  2. 使用Nginx IP绑定
    由于Nginx大多数情况下,做的是负载均衡和反向代理,如果使用解决该情况会使得负载均衡作用变得很小。
  3. 使用数据库
    数据库是基于硬盘存储的,效率太低。
  4. tomcat内置支持对session同步
    但是tomcat之间通讯有延迟,不推荐
  5. 使用session相关框架(推荐)
    例如spring-session或xxl-sso等第三方框架,将session存入redis中
  6. 使用token替代session功能(推荐)
    一般用于移动端,会将token存入本地文件中,一般APP都是这么做的。

三、注意点

sessionId是与域名绑定的,如果域名有一丁点变化,就会无法于之前的匹配。
例如第一次访问的域名是www..com,第二次是,bbs..com就会失效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容