我正在使用没有到期期限的 PHP 会话,使用具有粘性会话的 Amazon EC2 Elastic Load Balancing。负载均衡器上生成的应用程序粘性会话会发生什么情况?粘性何时到期?
答案1
从文档:
负载均衡器使用特殊的 cookie 来跟踪每个侦听器的每个请求的实例。当负载均衡器收到请求时,它首先检查请求中是否存在此 cookie。如果存在,则将请求发送到 cookie 中指定的实例。如果没有 cookie,负载均衡器将根据现有的负载平衡算法选择一个实例。将 cookie 插入响应中,以将来自同一用户的后续请求绑定到该实例。粘性策略配置定义了 cookie 过期时间,它确定了每个 cookie 的有效期。cookie 在其有效期到期后会自动更新。
如果某个实例发生故障或变得不健康,负载均衡器将停止将请求路由到该实例,并根据现有的负载均衡算法选择一个新实例。请求将路由到新实例,就像没有 cookie 一样,会话不再粘性。
如果客户端切换到不同的监听器,粘性就会丧失。
因此,这取决于您的 ELB 配置,并且取决于您设置有效期限用于会话粘性。
(可选)有效期限,输入 cookie 的有效期(以秒为单位)。超过此期限后,cookie 将被视为过期。如果您未指定有效期,则粘性会话将持续整个浏览器会话。
因此,如果您未指定到期期限,它将持续到 PHP 会话结束为止。