Websphere 上的会话管理
Session Management on Websphere
我们正在构建生产场景的模拟,我们希望在 Websphere 集群下的 20 个应用程序服务器中 运行 20 个应用程序实例。这里当 user-n 登录时,我们要为他分配 server-n 实例,并确保在 user-n 在该服务器上处于活动状态之前,没有其他用户可以使用同一服务器。我可以考虑在 plugin-cfg.xml 文件中使用循环负载平衡,但如何确保只有一个用户(或会话)分配给服务器实例。当用户多于可用服务器时,我们希望在 UI 上阻止他们,建议过段时间再试。我们的应用程序基于 spring。
用例:在我们上面试图解决的用例中,用户希望在生产数据快照上模拟未来场景并计算结果,这将有助于他们做出决策。例如。当一些主数据发生变化时会发生什么,我的库存将如何变化等等。这些操作应该是独立发生的,其中用户 1 不应该看到用户 2 所做的更改,而是希望始终拥有生产快照。为了解决这个问题,我们想在专用 container/VM 中提供应用程序 + 数据库副本,这是我们想将用户限制在单个服务器的地方。由于我正在谈论的应用程序已经开发并投入生产,我们真的不想做任何重大改变。我们还想到的解决方案之一是为单个应用程序内的每个用户提供虚拟化数据库模式,但由于后端限制,我们无法扩展这种方法,而在这种情况下,另一个问题是快照需要很长时间。
实际上这是不可行的,也不是应用程序服务器的使用目的。
在玩具环境中,您可以使用单个子进程 (MaxClients == ThreadsPerChild) 配置 Apache/IHS,然后使用 MaxConnections=1 配置 WAS 插件,当然只有 运行网络服务器实例。
我们正在构建生产场景的模拟,我们希望在 Websphere 集群下的 20 个应用程序服务器中 运行 20 个应用程序实例。这里当 user-n 登录时,我们要为他分配 server-n 实例,并确保在 user-n 在该服务器上处于活动状态之前,没有其他用户可以使用同一服务器。我可以考虑在 plugin-cfg.xml 文件中使用循环负载平衡,但如何确保只有一个用户(或会话)分配给服务器实例。当用户多于可用服务器时,我们希望在 UI 上阻止他们,建议过段时间再试。我们的应用程序基于 spring。
用例:在我们上面试图解决的用例中,用户希望在生产数据快照上模拟未来场景并计算结果,这将有助于他们做出决策。例如。当一些主数据发生变化时会发生什么,我的库存将如何变化等等。这些操作应该是独立发生的,其中用户 1 不应该看到用户 2 所做的更改,而是希望始终拥有生产快照。为了解决这个问题,我们想在专用 container/VM 中提供应用程序 + 数据库副本,这是我们想将用户限制在单个服务器的地方。由于我正在谈论的应用程序已经开发并投入生产,我们真的不想做任何重大改变。我们还想到的解决方案之一是为单个应用程序内的每个用户提供虚拟化数据库模式,但由于后端限制,我们无法扩展这种方法,而在这种情况下,另一个问题是快照需要很长时间。
实际上这是不可行的,也不是应用程序服务器的使用目的。
在玩具环境中,您可以使用单个子进程 (MaxClients == ThreadsPerChild) 配置 Apache/IHS,然后使用 MaxConnections=1 配置 WAS 插件,当然只有 运行网络服务器实例。