目前我有一台服务器运行一个ASP.net Web应用程序 (在IIS上),这也是运行一个SQL Server数据库 。
我越来越多的stream量,很快我将需要增加我可以处理的stream量,所以用户体验不会受到影响。 我不是在谈论谷歌或亚马逊types的stream量。
我的问题是,什么是一个现实的networking和服务器布局,以提供更好的性能和大我冗余的合理性,而不会期望支付巨额的资金。
我想把时间保持在一个合理的最低限度,但是并不期望100%的解决scheme都可用。
我正在考虑像防火墙,负载均衡器,两台运行IIS的Web服务器和一台合理规格的SQL服务器(也许是一台带有16GB或更多内存的戴尔R710),另外还有一台SQL服务器可以集群到另一台。
我希望系统能够以这样的方式进行扩展,如果在一两年内我们已经大幅增加了stream量,我们可以添加额外的服务器来满足增加的stream量而不用重build整个系统。
任何build议或链接指向我在正确的方向是完美的。
注意:我一直在经历highscalability.com,但是这些案例研究和文章中的大多数是指像StackOverflow,亚马逊和其他超大stream量的巨型网站。 我现在还不在那条船上
这种体系结构遇到的经典问题是,Web服务器非常容易扩展,而数据库更容易扩展。
你所build议的是一个好的开始。 我有过类似的经历,而我正处于以下这个阶段:
显然,如果你不关心可用性的话,你可以不用AD和一个SQL服务器。
当SQL成为瓶颈时,我将(在消除应用程序中的问题之后)为SQL服务器获得更大的硬件。 当IIS成为瓶颈时,我可以购买更多的IIS盒子并把它们扔进去。有一些大型的数据库盒子在后面,有大量的networking服务器坐在前面,这种情况并不罕见。
另一个主要问题是许可成本。 在许多情况下,硬件的成本变得不重要,因为您需要运行的软件许可证变得更大。 为了对SQL服务器进行集群,我相信你需要SQL Server企业版和Windows企业版 – 这些比标准版本要多得多。
最终,你必须决定你更关心什么:低成本,性能或可用性。 根据我的经验,可用性非常昂贵。