我可以在其背后的网站上启用和禁用负载均衡器上的粘性会话吗?

时间:2010-08-30 17:06:25

标签: session scalability sticky load-balancing

我的挑战如下。我想维护已发布表单的Post/Redirect/Get模式,但在重定向之后,我仍然希望在无效字段的情况下显示表单的状态。这些信息可以通过很容易地将它存储在会话中来传递。

但是,这些站点通常在负载均衡器后面的多个Web服务器上运行,这些Web服务器配置为不粘。目前还没有共享会话状态。

在Web服务器上使用本地会话状态对于可伸缩性是优选的,但要做到这一点,您需要粘性会话。然而,粘性会话对管理服务器的人来说是一个障碍,因为在从负载均衡器中删除一些服务器以进行发布后,他们仍然需要等待大约10到15分钟才能结束所有会话。没有粘性,它几乎是瞬间的。

如果我们可以在POST或REDIRECT之后使会话仅为一个后续请求粘贴,那真的很酷。甚至可以完全控制何时启用或禁用代码粘性。

有谁知道这种行为是否可行?通过设置某个cookie或许?还是一些http标题?

1 个答案:

答案 0 :(得分:0)

很少有想法:

  1. 中央缓存服务器

    • 将其保存到具有到期的缓存服务器(首选redis)
    • 使用网址中的参数重定向到get操作。使用此参数可恢复模型。
  2. 在网址中说明

    • 如果模型很小您可以将其作为参数保存在网址中。