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