首先通过cookie来传递关键数据肯定是不安全的

作者:郫县华伟包装厂 来源:www.cdhwms.com 发布时间:2018-10-23 10:42:54
解读分布式web架构中Session管理方法的优缺点 解读分布式web架构中Session管理方法的优缺点

看起来比第一种简单了很多,也没有第一种带来的缺陷,但在某些应用场景下还是会有比较严重的问题:

服务器之间的数据同步带来了额外的网络消耗,随着机器数量和数据量的上升,网络带宽将会有很大的压力,也必然会带来延时问题。

每台服务器上都要存储所有的会话数据,如果会话数量很大会占用服务器大部分内存空间。

目前很多应用容器都支持这种同步方式,所以在集群规模和数据量比较小的时候还是一种很好的解决方案。

3、Session集中存储

这种方式的思路就是把所有的会话数据统一存储和管理,所有应用服务器需要对session进行读写都要通过session服务器来操作:

解读分布式web架构中Session管理方法的优缺点

这种方案的好处是独立了session的管理,职责单一化,session服务器采用什么方式存储(内存、数据库、文档、NoSql等等),什么方式对外提供服务都是透明的。不会给应用系统和负载均衡带来额外的开销,不需要进行数据同步就能保证一致性,看起来应该是非常完美了,不过也有自己的一些小缺陷:

对session读写需要网络操作,相比较session直接存储在web服务器的时候增加了时延和不稳定性,好在session服务器和web服务器一般是部署在局域网中,可以最大化减少这个问题。

session服务器出现问题将影响所有web服务,如果采用多机部署同时也会带来数据一致性问题。

每种方案带有它独特的优势,同时也会带来相应的新问题,正所谓没有十全十美,只有适合才是最好的。总体来说,这种方案在应用服务器和会话数据量都很大的时候还是非常有优势的。

4、Cookie Base

这种方案是基于cookie的传输来实现的,核心思想很简单,就是把完整的会话数据经过处理后写入到客户端cookie,以后客户端每次请求都带上这个cookie,然后服务端通过解析cookie数据来获取会话信息,如下图所示:

解读分布式web架构中Session管理方法的优缺点

这种方案简单明了,也没有前面几种方案带来的问题,但劣势也非常明显:

首先通过cookie来传递关键数据肯定是不安全的,即便是采用了特殊的加密手段。

如果客户端禁用了cookie,将直接导致服务不可用。

cookie的数据是有大小限制的,如果传递的数据超出限制大小,将会导致数据异常。

在http请求中携带大量的数据进行传输会增加网络负担,同样,服务端响应大量数据会导致请求变慢,并发量大的时候会非常可怕。

总结

推荐阅读/观看:黄陂网站建设 http://hpwzjs.cn


  • 上一篇:移动端同样
  • 下一篇:最后一页