java – 亚马逊AWS的会话仿射负载均衡器如何知道会话cookie已过期?

如果我使用具有应用程序控制的会话粘性的HTTP负载均衡器(在这种情况下是亚马逊的AWS),负载均衡器显然必须记住映射中的所有会话cookie及其目标实例.
因此,该全局映射将/必须保持“session-cookie to instance”关系.

如果Web应用程序用户决定关闭浏览器,会话超时后会话将在应用服务器上静默消失.

这意味着负载均衡器在其全局映射中仍然具有“session-cookie to instance”关系.由于此映射现在无用且会话cookie没有到期日期,因此不能进行垃圾收集(以释放资源).

我的问题是:

>负载均衡器如何处理这种情况而不会耗尽资源?
>特别是如何使用此方案处理Amazon AWS负载均衡器而不会耗尽资源?

最佳答案
通常,应用程序感知(第7层)LB不会维护(大)会话映射.它可能:

>将自己的cookie注入到客户端的第一个响应中(和
客户端会在后续请求中重新发送该消息,因此LB可以确定
目标Web服务器)
>重写一个众所周知的会话cookie(例如
例如,JSESSIONID)向其附加信息
标识目标Web服务器(以及LB在后续请求中向Web服务器呈现之前将删除的内容)

关键是LB不会将会话维持到目标地图.该信息驻留在每个客户端的cookie中.

我相信AWS确实排名第一(使用名为AWSELB的cookie).

转载注明原文:java – 亚马逊AWS的会话仿射负载均衡器如何知道会话cookie已过期? - 代码日志