0

我发布了以下有​​关 ASP.NET 网络场的问题。

如何创建 ASP.NET 网络场?

伙计们建议使用网络负载平衡 (NLB) 作为创建 Web 场的主要方式。

但是,维基百科说“NLBS 旨在用于……无状态应用程序”。然而,我们的 Web 应用程序是绝对“有状态的”:它是一个封闭的站点,用户可以通过登录名和密码访问,每个用户的信息都不同:人们将看到自己的交易和操作。

在这种情况下我们还应该使用 NLB吗?

谢谢你。

4

4 回答 4

1

在这种情况下我们还应该使用 NLB 吗?

如果您遵循指南,则看不到为什么不这样做的原因。

Web 应用程序本质上是无状态的,因此即使您的用户应该登录它也不会使应用程序有状态。

结合 ASP.NET 中的有状态的东西是:

  • 会话状态
  • 缓存

可以在 WebFarm 中适当配置。

下面是一个关于如何配置 NLB的示例。

于 2009-11-30T10:48:03.717 回答
0

您仍然可以使用 NLB,但您需要一个支持粘性会话的 NLB,这意味着它将始终将来自某个客户端的流量路由到同一 Web 服务器。在负载平衡方面不是最好的解决方案,但至少可以让您扩展到多台服务器。

于 2009-11-30T10:45:59.897 回答
0

我认为负载平衡仍然是可取的。您只需要设置它,以便会话是“粘性的”:一旦会话打开:

http://technet.microsoft.com/en-us/library/bb734910.aspx

于 2009-11-30T10:47:09.987 回答
0

绝对没错。您可以采用一些策略来维护场中服务器之间的状态。machineKey 设置对于您场中的所有 Web 服务器应该是相同的,以便身份验证票证在机器之间有效。

http://msdn.microsoft.com/en-us/library/ms998288.aspx#paght000007_webfarmdeploymentconsiderations

有几个选项可用于管理 Web 服务器之间的会话状态:

http://msdn.microsoft.com/en-us/library/z1hkazw7.aspx

http://support.microsoft.com/kb/311209

于 2009-11-30T10:48:12.187 回答