粘性会话的负载平衡

时间:2020-08-31 08:17:18

标签: httprequest load-balancing amazon-elb aws-application-load-balancer sticky-session

我已将AWS Application-Load-Balancer配置为启用了粘性会话和最低未完成请求路由算法的目标组。我得到任何建立的粘性会话的请求都被路由到附加的目标服务器(如果有)。同样,路由算法会根据活动请求的数量为传入请求选择最佳目标。来自新会话的新请求就是这种情况,其粘性尚未建立。

考虑一个假设情景。
我有3个后端服务器(具有粘性会话)Server1,Server2,Server3。每个服务器的最大容量为 200个活动请求
将它们在特定时间点正在服务(和负载)的活动请求视为
Server1具有150(75%)个活动请求
具有2个(100%)活动请求的Server2
Server3的活动请求为180(80%)

注意:并非所有附加到相应服务器的粘性会话都具有活动请求。
例如: Server2可能具有多个其他附加会话,这些会话当前未处于请求状态送达。

当来自新会话sessionX的请求到达时,应将其路由到“基于配置的LOR算法的Server1”,因为Server1的活动请求最少。

另一方面,当来自粘性会话sessionN-Server2的请求到达时,Server2仍在处理该请求。 LOR算法在这种情况下无效。我的理解正确吗?

是否有更好的方法来处理这些情况?甚至还有一种智能算法,可以在路由流量时考虑与服务器关联的粘性会话的数量。

总结:

  1. LB应该将传入的请求路由到连接了总会话数较少的服务器

  2. 如果粘性服务器过载,则LB应该找到最佳服务器(即使对于粘性请求)。在这种情况下,旧服务器的粘性消失了,而是找到了新服务器。

这些甚至有效吗?如果是这样,市场上是否有此类策略可用?

0 个答案:

没有答案