3

我们即将为 XPages 应用程序制作另一台服务器。在它前面会有故障转移/负载平衡组件(Microsoft Forefront、IBM Web 服务器),它将 HTTP 请求重定向到两个集群服务器之一。

我想在故障转移的情况下将重新初始化作用域变量 - 用户被重定向到其他服务器,该服务器将从头开始初始化 XPage (GET) 或数据子集 (POST)。任何绑定到 bean/作用域变量的东西都将丢失(寻呼机状态、应用程序特定数据)。这可能会导致用户出现奇怪的行为:丢失输入的数据或打开意外页面。我知道事实上,这在很大程度上取决于应用程序设计。这种情况可能与一台服务器上的过期会话非常相似——在这种情况下如何防止数据丢失。

是否有任何编码最佳实践来避免从服务器到服务器的故障转移的副作用?

4

1 回答 1

0

虽然不是代码最佳代码最佳实践,但您首先需要配置负载均衡器以使用户在启动后保持在同一个会话上(可能_使用 cookie,因此只有当您的盒子真的出现故障时才会发生故障转移。

其次,不要将范围变量放在那里,始终对其进行测试-无论如何这是一个好习惯,因为会话也可能超时并在单个服务器上丢失其变量。由于缺少 x 会话,POST 将失败,因此您可能只能通过可能具有错误处理程序的 Ajax 进行发布。

您可以考虑使用 cookie 来捕获状态信息。

于 2013-06-11T07:32:10.787 回答