1

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

然而,这些站点通常在负载均衡器后面的多个 Web 服务器上运行,这些 Web 服务器配置为不具有粘性。也没有故意共享会话状态。

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

如果我们可以让会话在 POST 或 REDIRECT 之后的一个后续请求中保持粘性,那将是非常酷的。甚至可以完全控制何时启用或禁用代码粘性。

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

4

1 回答 1

0

几个想法:

  1. 中央缓存服务器

    • 将其保存到缓存服务器(首选redis)并过期
    • 使用 url 中的参数重定向到 get 操作。使用此参数恢复模型。
  2. 网址中的状态

    • 如果模型很小,您可以将其保存为 url 中的参数。
于 2015-11-30T20:41:43.440 回答