我发布了有关ASP.NET Web场的以下问题。
How to create an ASP.NET web farm?
大家建议使用网络负载平衡(NLB)作为创建Web场的主要方式。
但是,Wikipedia表示“NLBS适用于......无状态应用程序”。但是,我们的网络应用程序绝对是“有状态”:它是一个封闭的网站,用户可以通过登录名和密码访问该网站,每个用户的信息都会有所不同:人们会看到他们自己的交易和操作。
在这种情况下, 仍然使用NLB ?
谢谢。
答案 0 :(得分:1)
在这种情况下我们还应该使用NLB吗?
如果您遵循指南,请不要查看原因。
Web应用程序本质上是无状态的,因此即使您的用户应该登录它也不会使应用程序有状态。
将ASP.NET中有状态的东西结合起来:
可以在WebFarm中正确配置。
这是关于如何配置NLB的example。
答案 1 :(得分:0)
你仍然可以使用NLB,但是你需要一个支持Sticky Sessions,这意味着它总是将流量从某个客户端路由到同一个Web服务器。在负载平衡方面不是最佳解决方案,但至少可以让您扩展到多个服务器。
答案 2 :(得分:0)
我认为负载平衡仍然是可取的。你只需要设置它以使会话“粘滞”:一旦会话打开:
答案 3 :(得分:0)
当然,是的。您可以使用策略来维护服务器场中的服务器之间的状态。对于服务器场中的所有Web服务器,machineKey设置应该相同,以便auth票证在计算机之间有效。
http://msdn.microsoft.com/en-us/library/ms998288.aspx#paght000007_webfarmdeploymentconsiderations
管理网络服务器之间的会话状态有几个选项: