博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
服务器共享session的方式
阅读量:5937 次
发布时间:2019-06-19

本文共 1211 字,大约阅读时间需要 4 分钟。

服务器共享session的方式

简介

1. 基于NFS的Session共享

NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发。
这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录服务器mount到各频道服务器的本地session目录即可,缺点是NFS依托于复杂的安全机制和文件系统,因此并发效率不高,尤其对于session这类高并发读写的小文件,会由于共享目录服务器的io-wait过高,最终拖累前端WEB应用程序的执行效率。
2. 基于数据库的Session共享
首选当然是大名鼎鼎的Mysql数据库,并且建议使用内存表Heap,提高session操作的读写效率。这个方案的实用性比较强,相信大家普遍在使用,它的缺点在于session的并发读写能力取决于Mysql数据库的性能,同时需要自己实现session淘汰逻辑,以便定时从数据表中更新、删除 session记录,当并发过高时容易出现表锁,虽然我们可以选择行级锁的表引擎,但不得不否认使用数据库存储Session还是有些杀鸡用牛刀的架势。
3. 基于Cookie的Session共享

这个方案我们可能比较陌生,但它在大型网站中还是比较普遍被使用。原理是将全站用户的Session信息加密、序列化后以Cookie的方式,统一种植在根域名下(如:.host.com),利用浏览器访问该根域名下的所有二级域名站点时,会传递与之域名对应的所有Cookie内容的特性,从而实现用户的Cookie化Session 在多服务间的共享访问。
这个方案的优点
无需额外的服务器资源;缺点是由于受
http协议头信心长度的限制,仅能够存储小部分的用户信息,同时Cookie化的 Session内容需要进行安全加解密(如:采用DES、RSA等进行明文加解密;再由MD5、SHA-1等算法进行防伪认证),另外它也会
占用一定的带宽资源,因为浏览器会在请求当前域名下任何资源时将本地Cookie附加在http头中传递到服务器。
 
 

4. 基于Memcache的Session共享
Memcache由于是一款基于Libevent多路异步I/O技术的内存共享系统,简单的Key + Value数据存储模式使得代码逻辑小巧高效,因此在并发处理能力上占据了绝对优势。另外值得一提的是Memcache的内存hash表所特有的Expires数据过期淘汰机制,正好和Session的过期机制不谋而合,降低了过期Session数据删除的代码复杂度,对比“基于数据库的存储方案”,仅这块逻辑就给数据表产生巨大的查询压力。

 

 

题目:

下面哪种方式可以用于服务器共享session?

正确答案: A B C D   

利用NFS共享Session数据
基于数据库的Session共享
基于Cookie的Session共享
使用类似BIG-IP的负载设备来实现资源共享

 

转载地址:http://atvtx.baihongyu.com/

你可能感兴趣的文章
13 集合
查看>>
POI 导出Excel
查看>>
Daily Sentence
查看>>
SparkMLlib基础内容
查看>>
c#索引器
查看>>
js限制上传文件的类型和大小
查看>>
POJ 2585:Window Pains(拓扑排序)
查看>>
WEB服务器、应用程序服务器、HTTP服务器区别
查看>>
CFileDialog多选[转]
查看>>
关于访问链接返回XML的获取数据
查看>>
阿西里斯与龟
查看>>
Struts2
查看>>
MySQL练习题
查看>>
常用Java API之Ramdom--用代码模拟猜数小游戏
查看>>
我的WafBypass之道(upload篇)
查看>>
转载: 开源整理:Android App新手指引开源控件
查看>>
canvas 参考手册
查看>>
volatile的一点理解
查看>>
Codeforces 488C Fight the Monster
查看>>
HDU 1255 覆盖的面积 ( 扫描线 + 离散 求矩阵大于k次面积并 )
查看>>