观察
当使用 Amazon ELB应用程序负载均衡器并使用粘性会话时,负载均衡器会插入一个AWSALB
在第一个请求中命名的 cookie。为了让下一个请求坚持到同一个目标节点(EC2 实例),cookie 应该包含在该请求中。这样做时,负载均衡器似乎在对第二个请求的响应中插入了不同的 cookie 值。当在第三个请求中包含这个新的 cookie 值时,我们会在响应中得到一个新的 cookie 值。等等……</p>
(这与粘性会话与 Classic Load Balancer的工作方式不同,其中 cookie 被命名AWSELB
并保留其值,直到被客户端或负载均衡器丢弃。)
cookie 一直更改值的原因AWSALB
似乎是(如docs所述):
cookie 的名称是 AWSALB。这些 cookie 的内容使用旋转密钥进行加密。您无法解密或修改负载均衡器生成的 cookie。
因此,即使 cookie 的内容可能相同,我们也无法判断。
问题
问题是对负载均衡器的请求是否必须始终包含最近收到的AWSALB
cookie 值,或者是否可以发送一些以前收到的值(当然,来自同一个粘性会话)。
如果这是一项要求,AWS ELB 应用程序负载均衡器将无法为执行多个并行请求的客户端(在收到第一个AWSALB
cookie 之后)提供服务,而只能为以顺序方式(一次一个)执行所有请求的客户端提供服务。
任何人都可以对此有所了解吗?