【问题标题】:XPages cluster and state variablesXPages 集群和状态变量
【发布时间】:2013-06-10 12:36:32
【问题描述】:

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

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

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

【问题讨论】:

    标签: xpages lotus-domino


    【解决方案1】:

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

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

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

    【讨论】:

    • 不错的提示,谢谢。根据会话范围变量测试:可以通过使用会话范围的 bean 来避免测试,但这并没有太大帮助 - 在两种情况下,故障转移值都会丢失。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 2017-01-19
    • 2022-01-25
    • 1970-01-01
    • 2023-03-06
    • 2014-09-10
    相关资源
    最近更新 更多