我们正在使用亚马逊网络服务(AWS),我们有多个Web服务器和负载平衡器。 与Web服务器的问题是,该$ _SESSION是为每一个独特的。 我保持约在$ _SESSION用户的一些信息。
什么是信息同步的正确方法? 有什么办法团结的地方,在那里这些会议被关押,或者我应该使用MySQL来存储这些数据(我真的不喜欢最后一个选项)?
我们正在使用亚马逊网络服务(AWS),我们有多个Web服务器和负载平衡器。 与Web服务器的问题是,该$ _SESSION是为每一个独特的。 我保持约在$ _SESSION用户的一些信息。
什么是信息同步的正确方法? 有什么办法团结的地方,在那里这些会议被关押,或者我应该使用MySQL来存储这些数据(我真的不喜欢最后一个选项)?
我知道你在寻找的是“粘性会话”。 如果我是正确的那个,亚马逊为您提供了两种不同的选择。
负载均衡器(持续时间为基础的,我推荐这一个) http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html#US_EnableStickySessionsLBCookies
而基于应用会话粘性http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html#US_EnableStickySessionsAppCookies
虽然概念上类似于你正试图避免由于某种原因,MySQL的选项,内使用一个相当有吸引力的选择亚马逊网络服务(AWS)是近期推出的可扩展会话处理在PHP中使用亚马逊DynamoDB ,这解决了典型的会议在PHP处理是不可扩展的 ,因此需要某种定制的解决方案呢:
会话用于保存多个HTTP请求短期数据[...]。 PHP的本地会话处理程序存储会话数据到本地文件系统; 然而,这种方法成为分布式Web应用程序不可靠 。 在随后的请求,用户可能不被路由到同一台服务器使其得到有效遗忘的数据。 用户将被注销,并且混淆。
为了解决这个问题,PHP开发人员使用的数据库,共享文件系统,内存缓存服务器,防篡改cookies和其他存储机构存储的用户的会话数据来实现定制的解决方案 。 [...] [重点煤矿]
根据您的使用情况,你可能要相应地给这个潜在的非常快的会话存储一试。
要添加到上面的回答,你想找的像DynamoDB分布式缓存这是一种有偿服务的亚马逊。 其惊人的快和灿烂的使用,但如果你是寻找一些其他的开源替代品,你可以看看下面的内存读/写的选项。