Php 管理不同服务器之间的会话

Php 管理不同服务器之间的会话,php,asp.net,Php,Asp.net,当负载平衡器与后端的不同web服务器一起使用时,如何维护同一用户的会话。换句话说,假设有一个负载平衡器在不同的服务器之间分配负载,一个用户被定向到一个存储其会话的服务器,然后下一次同一个用户被定向到第二个服务器。服务器如何知道它是否是同一个用户?如何保持它是两台服务器上的同一个用户通过更改会话存储表单文件,我将它转到了另一个可以处理tcp连接的系统(在我的例子中是memcache,但您甚至可以使用mysql) memcache解决方案: 用于memcache扩展 session.save_han

当负载平衡器与后端的不同web服务器一起使用时,如何维护同一用户的会话。换句话说,假设有一个负载平衡器在不同的服务器之间分配负载,一个用户被定向到一个存储其会话的服务器,然后下一次同一个用户被定向到第二个服务器。服务器如何知道它是否是同一个用户?如何保持它是两台服务器上的同一个用户

通过更改会话存储表单文件,我将它转到了另一个可以处理tcp连接的系统(在我的例子中是memcache,但您甚至可以使用mysql)

memcache解决方案: 用于memcache扩展

session.save_handler = memcache 
session.save_path = "tcp://localhost:11211" 
对于memcacheD

session.save_handler = memcached 
session.save_path = "localhost:11211" 
,但当然,您应该将localhost更改为您的dns/ip


在手册中检查它

您的负载平衡器可以配置为将同一用户/客户端指向同一服务器。唯一变得“棘手”的时候是在SSL和不安全流量之间切换,但这仍然可以在负载平衡器上配置


如果由于任何原因无法执行此操作,则可以在SQL server中存储/检索会话状态。请参见使用数据库进行会话存储。 (小心SQL注入,因为保存PHPSESSID的cookie来自客户端。)

从这里开始:

您能详细介绍一下您的解决方案吗请问这是针对ASP.NET应用程序还是php的?一般问题,我只需要一个一般性的回答,比如一般情况下是如何完成的,您可以回答一个面试问题