1

我们有一种情况,我需要为我们使用 ASP.Net 3.5 制作的应用程序之一提供高可用性解决方案。

客户预计在给定时间大约有 50,000 人访问该应用程序,然后我们粗略地预计该应用程序有大约 5% 的同时点击。

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

我想知道以下内容:

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

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

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

欢迎对给定场景提出任何其他建议。

谢谢。

4

1 回答 1

0

ASP.NET 运行网络上一些最大的网站..DELL、MySpace、Microsoft 等。

当你说 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 使用 Amazon)或 Apple 使用 Microsoft 和 Amazon 将 iCloud 扩展到两个云。Azure 包含一个无状态负载平衡器,因此可以在基于会话的 Web 表单上进行粘性会话和自定义负载平衡。但您需要:1)在本地编写一个小型软件负载平衡服务器以适当地路由请求或 2)存储您在 Azure 缓存、Azure 表存储、SQL Azure 等“公共区域”中的会话状态(基本上不是 InProc 会话状态)。Azure AppFabric 缓存包括可以替换 InProc 缓存的模块。

您还可以编写一个“哑”负载均衡器,其中一些客户端始终在云中,而另一些则始终托管。那会容易很多。

于 2012-11-21T16:24:31.897 回答