ASP.NET 3.5企业级项目开发 第一章(续):企业级项目框架解决方案的提出
期特性。
但扩展数据库时,通常的做法是向上扩展,即一个大型框,在群集配置中可能是两个(尽管在任意给 定时间只有一个在实际运行数据库)。不过,在所有大规模的 Web 应用程序中,单个数据库是无法处理 负载的。必须进行扩展。这是完全可能的;您只需应用 Web 应用程序本身所应用的那些策略即可。第一 步肯定是特殊化策略,即将数据库分成若干个逻辑分区。这些分区可能是以数据为中心,也可能是按区域 划分的。因此,您将拥有多个数据库,每个都包含整个数据库的一部分。例如,一个服务器包含东海岸数 据,而另一个服务器包含西海岸数据。 但是,对于规模非常大的 Web 应用程序,会将其数据库分成若干读取方和写入方(请参见图 6)。读 取方数据库是只读的;它们通过复制操作从写入方数据库接收数据。所有数据查询都转到读取方数据库, 而且还对其进行了优化以便尽可能快地读取数据。读取方数据库可按其性质加以分类。 Figure 6 Distributed Database Architecture 所有数据写入请求都被发送到写入方数据库,这些数据库都进行了分区和调整,可以高效率地写入。 复制操作将新数据从写入方数据库移到读取方数据库。 创建此类专业化数据库会导致延迟:现在写入操作要经过一段时间才能发布到读取方数据库。但如果 您可以解决延迟问题,则扩展潜力是巨大的。 无止境的扩展工作 只要您的应用程序不断增加,您的扩展工作也会不断增加。可以有效处理一万个用户的 ASP.NET 技术 在处理十万个用户时效率可能会大打折扣,而处理一百万个用户时规则又会有所不同。当然,性能可能完 全取决于您的应用程序;我们曾看到过有的应用程序其扩展需求少于一千个用户! 有效扩展的关键是在削减之前进行权衡:通过测试确保您的努力方向是正确无误的。测试您的工作以 确保您获得了实质的改进,而不仅仅是些许变化。即使在开发周期的收尾阶段,也要注意优化可伸缩性, 您应该弄清楚自己的薄弱环节。但是,我希望它们对目前的用户来说速度足够快,这样您便可以着手开始 工作以满足未来用户的需求。 Richard Campbell 是 Microsoft 的一位区域总监,ASP.NET 方面的 MVP,他还是《.NET Rocks, the Internet Audio Talkshow for .NET Developers》的合著者 (dotnetrocks.com)。多年来他一直为各公 司提供有关 ASP.NET 性能和扩展方面的咨询服务,他还是 Strangeloop Networks 的共同创始人之一。 Kent Alstad 是 Strangeloop Networks (strangeloopnetworks.com) 的 CTO,还是 Strangeloop 所 有待定专利的主要作者或丛集作者。在帮助创建 Strangeloop 之前,他构建并查阅了许多高性能、高扩 展的 ASP.NET 应用程序。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |