asp.net - 如何创建 ASP.NET 网络场?

标签 asp.net scalability web-farm

我正在寻找有关如何创建ASP.NET Web Farm的信息 - 即如何使 ASP.NET 应用程序(最初设计为在单个 Web 服务器上工作)在2、3、10 台等服务器?

我们创建了一个 Web 应用程序,当同时有 500 个用户时,该应用程序运行良好。但现在我们需要使其适用于 10,000 个用户(同时使用网络应用程序)。

因此,我们需要设置 20 个 Web 服务器,并进行一些操作,以便 10 000 个用户可以通过在 Web 浏览器中输入“www.MyWebApp.ru”来使用该 Web 应用程序,尽管他们的请求将由 20 个网络服务器处理,而他们并不知道。

1)是否有特殊的标准软件来创建ASP.NET网络场

2) 或者我们应该自己创建一个网络场,通过手动在不同的网络服务器之间传输请求(使用 ASP.NET/C# )?

我发现有关 ASP.NET Web 场和网络可扩展性的信息非常少:在大多数情况下,有关可扩展性的文章会告诉您如何优化 ASP.NET 应用程序并使其运行得更快。但我没有找到在2 个 Web 服务器上运行类似“Hello world”的 ASP.NET Web 应用程序的示例。

如果有人可以发布一篇文章的链接,或者更好的是讲述自己在 ASP.NET“网络农业”和解决可扩展性问题方面的经验,那就太好了。

谢谢你, 米哈伊尔。

最佳答案

1) Is there special standard software to create an ASP.NET web farm?

没有。

2) Or should we create a web farm ourselves, by transferring requests between different web servers manually (using ASP.NET / C#)?

没有。

要构建网络场,您将需要某种形式的负载平衡。对于最多 8 台服务器左右,您可以使用 Windows 内置的网络负载平衡 (NLB)。对于超过 8 台服务器,您应该使用硬件负载均衡器。

但是,负载平衡实际上只是冰山一角。您还应该解决许多其他问题,包括:

  1. 状态管理(cookie、ViewState、 session 状态等)
  2. 缓存和缓存失效
  3. 数据库加载(管理往返、分区、磁盘子系统等)
  4. 应用程序池管理(WSRM、池重置、分区)
  5. 部署
  6. 监控

如果它可能有帮助,我在我的书中讨论了许多这些问题:Ultra-Fast ASP.NET: Build Ultra-Fast and Ultra-Scalable web sites using ASP.NET and SQL Server .

关于asp.net - 如何创建 ASP.NET 网络场?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816756/

相关文章:

c# - 传递 web api 参数时出现 404

c# - 使用asp.net检查日志文件大小和写入日志

mysql - 设置数据库分片 - 没有跨数据库查询

database - Cassandra适合需要频繁查询(读/写)的系统吗?

c# - 缩放 ASP.NET 应用程序

javascript - 如何在运行时向页面添加javascript代码?

c# - 将 JSON 对象反序列化为 C# 对象时整数列表的反序列化问题

mysql - 用于客户端和事务管理的 NoSQL 数据库

asp.net - 网络农场框架 : how do I access the application?

c# - 调整大小和存储图像但锁定以确保它只完成一次