没有有效期的 PHP 会话。负载均衡器上的粘性会话会发生什么?

没有有效期的 PHP 会话。负载均衡器上的粘性会话会发生什么?

我正在使用没有到期期限的 PHP 会话,使用具有粘性会话的 Amazon EC2 Elastic Load Balancing。负载均衡器上生成的应用程序粘性会话会发生什么情况?粘性何时到期?

答案1

文档

负载均衡器使用特殊的 cookie 来跟踪每个侦听器的每个请求的实例。当负载均衡器收到请求时,它首先检查请求中是否存在此 cookie。如果存在,则将请求发送到 cookie 中指定的实例。如果没有 cookie,负载均衡器将根据现有的负载平衡算法选择一个实例。将 cookie 插入响应中,以将来自同一用户的后续请求绑定到该实例。粘性策略配置定义了 cookie 过期时间,它确定了每个 cookie 的有效期。cookie 在其有效期到期后会自动更新。

如果某个实例发生故障或变得不健康,负载均衡器将停止将请求路由到该实例,并根据现有的负载均衡算法选择一个新实例。请求将路由到新实例,就像没有 cookie 一样,会话不再粘性。

如果客户端切换到不同的监听器,粘性就会丧失。

因此,这取决于您的 ELB 配置,并且取决于您设置有效期限用于会话粘性。

(可选)有效期限,输入 cookie 的有效期(以秒为单位)。超过此期限后,cookie 将被视为过期。如果您未指定有效期,则粘性会话将持续整个浏览器会话。

因此,如果您未指定到期期限,它将持续到 PHP 会话结束为止。

相关内容