历史了解
- 首先最开始时期这段时间,人们上网的主要工具就是电脑,这时候对服务器的访问需求并不是很高,所以大部分公司采用的都是以下这种单链的方式,这样在访问人数较少的时候还好,但是一旦访问的请求过多时,处理业务的部分的服务器就扛不住了
- 随着移动端的手机平板这些设备的出现,像之前那样单链格式的服务器已经无法承受那么大的访问压力了,这时候人们采取的多台服务器来进行负载均衡,大概如下图所示
但是这种方法虽然减轻了服务器的压力却带来了一个新的问题,那就是用户的session要存放在哪里呢?
人们为了解决这个问题考虑了好几种方法,以下是常见的四种方法缺点
第一种_放在cookie中
缺点
- 不安全,因为是放在客户端上,很明显是不安全的,而且容易照成用户信息泄露
- 网络负担效率低,因为当服务器需要使用时需要向客户端进行获取,进行一次操作要比以前多出好几次请求和相应,增加了网络方面上的负担
第二种_放在文件服务器(数据库)中
缺点
- 会产生大量的IO效率问题,因为保存在这里的数据都是写在硬盘上的,每次的使用都会进行IO操作,这样的效率较为低下,而且主义的是这不仅仅是要保存一个用户的session,是所有用户的session
第三种_每台服务器都复制一份Session
缺点
- Session数据冗余,因为同一个用户在一个操作里的session数据大部分情况都是相同的,进行大量的复制会照成数据的冗余
- 服务器节点越多冗余越大
第四种_存放在缓存数据库
缓存简单来说就是存放在内存中,减少了IO操作,这种方式下速度快,而且数据结构简单(非关系型数据库)