我们有一个设置,我们希望会话在大多数时间保持粘性,但我们希望能够重新平衡流量。例如,假设只有一台后端服务器启动。100% 的用户被路由到该服务器。当另一台服务器启动时,我们希望将负载重新平衡 50%-50%。我们正在使用带有 mod_proxy_balancer 的 Apache 2.4。
使用 JSESSIONID cookie 很容易设置粘性会话,但是它们太粘性了——一旦为会话分配了一个路由,它就会保留该路由,除非该路由变得无效。也很容易配置轮询或其他没有粘性的平衡方案并动态控制不同后端服务器的负载,但是如果我们更改负载因子对配置为粘性的会话没有影响,除了新会话和我们的用户通常全天登录。
是否可以使用 mod_proxy_balancer 配置“稍微粘滞”的会话,如果没有任何更改,会话被分配相同的路由,但是由于修改的负载因子或添加的服务器或使用命令,现有会话可以重新路由?
NGINX 似乎通过 ip-hash 和哈希平衡方法支持这一点。Apache有解决方案吗?