谷歌云HTTPS负载均衡器会话亲和力

时间:2018-03-23 04:27:44

标签: networking google-cloud-platform google-compute-engine load-balancing google-cloud-networking

我有一个配置了一个后端服务和两个实例组的HTTPS负载均衡器:

后端配置为cookie会话亲和力。

我的交易来自POST请求,然后是6次重定向,需要会话亲和力。在大多数情况下,这可以按预期工作,但在大约10%-15%的情况下,关联在重定向序列期间停止工作,这导致我们这边的应用程序错误。

我在我们的Apache反向代理上打印GCLB cookie值,可以看到它在请求之间没有变化,但请求仍然被重定向到组中的不同实例或不同的组(请注意,当后端中只有一个组具有多个实例时,会发生相同的行为。)

运行状况检查全部通过,运行期间没有自动调节(每组1个实例)。

虽然GCLB cookie没有什么不同,但是什么可以导致LB更改后端实例?

由于

1 个答案:

答案 0 :(得分:0)

documentation表示失去会话亲和力有三个原因:

  • 实例组的容量不足,流量必须路由到其他区域。在这种情况下,来自现有会话的流量可能会被发送到新区域,从而破坏了亲和力。您可以通过确保实例组具有足够的容量来处理所有本地用户来缓解这种情况。
  • Autoscaling向实例组添加实例或从中删除实例。在任何一种情况下,后端服务都会重新分配负载,目标可能会移动。您可以通过确保自动扩展所配置的最小实例数足以处理预期负载来缓解此问题,然后仅使用自动扩展来实现意外的负载增加。
  • 目标实例未通过运行状况检查。当会话转移到健康的实例时,亲和力会丢失。

如果IG中的实例数没有变化,并且所有实例在整个时间内都保持健康,则会消除第二个和第三个项目符号点。

您使用的是regional managed instance group吗?如果是这样,第一个要点似乎是原因。

您可能会在会话Cookie处理中发现某种错误;要消除这种可能性,您是否尝试过其他亲和设置以查看问题是否消失?