ASP.Net应用程序的高可用性

时间:2012-11-21 10:35:54

标签: iis azure cloud cloud-hosting high-availability

对于使用ASP.Net 3.5制作的应用程序,我需要一个高可用性解决方案。

客户希望在给定时间内有大约5万人访问该应用程序,然后我们大致期望大约5%的同时响应该应用程序。

典型的交易包括填写表格和附加约20mb的文件。

我想知道以下内容:

  1. 在哪里可以获得支持上述使用要求的IIS的吞吐量/性能信息?

  2. 我的客户端拥有自己的数据中心,他们希望在其基础架构上运行实例。

  3. 考虑到这一要求,我是否可以在云上运行其他实例(最好是Windows Azure)并对所有这些实例进行负载平衡,包括客户端数据中心的实例?如果是这样我怎么能实现这个目标?

    对于给定方案的任何其他建议都是受欢迎的。

    感谢。

1 个答案:

答案 0 :(得分:0)

ASP.NET运行网络上的一些最大的网站......戴尔,MySpace,微软等。

当你说ASP.NET ..它可能意味着很多东西。我假设您正在谈论Web表单,但您可能会有很多Ajax与Web服务等进行对话。

您可以将ASP.NET扩展到数百万用户,这是ASP.NET 3.5的一个示例: http://www.slideshare.net/oazabir/scaling-aspnet-websites-to-millions-of-users#btnNext

如果不了解您的架构设计,很难回答您的问题。膝盖反射回答是肯定的,它可以扩展到您的用户数字。我已经将ASP.NET扩展到了那个程度。


Azure绝对可以用于进一步扩展网站。事实上,许多大型网站都有自己的托管,然后在必要时扩展到云端(即Zynga使用亚马逊)或Apple使用微软和亚马逊将iCloud扩展到两个云。 Azure包含无状态负载均衡器,因此可以在基于会话的Web表单上进行粘性会话和自定义负载平衡。但您需要: 1)在内部编写一个小型软件负载平衡服务器,以适当地路由请求OR 2)将会话状态存储在“公共区域”中,如Azure缓存,Azure表存储,SQL Azure等(基本上不是InProc会话状态)。 Azure AppFabric缓存包含可以使用。

替换InProc缓存的模块

您还可以编写一个“哑”负载均衡器,其中一些客户端始终位于云中,而某些客户端始终处于托管状态。这会容易得多。

相关问题