|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
参加PHP开发学习,或许只是一次偶然的想法吧!只是想在走向社会之前体验、学习在一个公司或者说是项目团队之中如何去更有效的沟通、交流、共同合作,还有就是为毕业实习找工作增加伐码。 良多开辟中触及到用户的Session验证很保存的成绩,这个成绩对照成心思,总结了几种计划,只供参考。
[ 成绩提出 ]
为了知足足够大的使用,知足更多的客户,因而咱们架设了N台Web办事器(N>=2),在多台Web办事器的情形下,咱们会触及到一个成绩:用户上岸一台办事器今后,假如在逾越到另外一台办事器的时分可以持续利用客户的Session?
(以下描写计划只是针对Linux/Unix + Apache + Mysql + PHP的开辟架构,固然,也能够扩大到其他平台。)
[ 成绩处理计划 ]
既然咱们的成绩已摆在眼前了,那末就要从手艺角度去处理成绩,给咱们的客户更好的体验,总结了几个计划。
1. 写客户端Cookie的体例
当用户上岸胜利今后,把网站域名、用户名、暗码、token、session无效工夫全体采取cookie的模式写入到客户真个cookie外面,假如用户从一台Web办事器逾越到另外一台办事器的时分,咱们的法式自动去检测客户真个cookie信息,停止判别,然后供应对应的办事,固然,假如cookie过时,或有效,天然就不让用户持续办事了。固然,这类办法的坏处就不问可知了,好比客户端禁用了cookie或cookie被黑客盗取了呢?
2. 办事器之间Session数据同步的体例
假定Web办事器A是一切用户上岸的办事器,那末当用户验证上岸一下,session数据就会写到A办事器里,那末就能够本人写剧本或守护历程来主动把session数据同步到其他Web办事器,那末当用户跳转到其他办事器的时分,那末session数据是分歧的,天然就可以够直接停止办事不必再次上岸了。弱点是,能够会速度慢,不不乱,假如是单向同步的话,上岸办事器呈现成绩,那末其他办事器也没法办事,固然也能够思索双向同步的成绩。
3. 使用NFS同享Session数据的体例
其实这个计划和上面的Mysql计划相似,只是存储体例纷歧样。大致就是有一台公共的NFS办事器(Network File Server)做同享办事器,一切的Web办事器上岸的时分把session数据写到这台办事器上,那末一切的session数据其实都是保留在这台NFS办事器上的,不管用户会见那太Web办事器,都要来这台办事器获得session数据,那末就可以够完成同享session数据了。弱点是依附性太强,假如NFS办事器down失落了,那末人人都没法任务了,固然,可以思索多台NFS办事器同步的模式。
(关于NFS的经典文章:http://linux.vbird.org/linux_server/0330nfs.php)
4. 使用Mysql数据库同享Session数据的体例
这个体例与NFS的体例相似,也是采取一台Mysql办事器做同享办事器,把一切的session的数据保留到Mysql办事器上,一切Web办事器都来这台Mysql办事器来获得Session数据。弱点也是依附性太强,Mysql没法任务了影响一切的Web办事器,固然,可以思索多太Mysql数据库来同享session,利用同步Mysql数据的体例。
(Mysql同步我写过文章:http://blog.csdn.net/heiyeshuwu/archive/2005/10/31/520007.aspx)
5. 利用硬件装备
这个算是对照成熟的处理计划了,利用相似BIG-IP的负载装备来完成资本同享,那末就可以够又不乱又公道的的同享Session了。今朝良多门户网站采取这类体例。弱点很分明了,就是要免费了,硬件装备一定需求购置本钱的,不外关于专业或大型使用来说,是对照公道而且值得的。
(关于BIG-IP装备:http://www.f5.com.cn/channel.php?channel=product&type=BIG-IP-%D3%A6%D3%C3%C1%F7%C1%BF%B9%DC%C0%ED&id=36)
以上这些只是我的团体鄙意,没有经由实验,不包管其正确其实性,只是供应一种设法和参考。
当然你可以把你最基本的功能放出来的时候就放出来,比如放到论坛上,让大家都参与, |
|