论文部分内容阅读
随着经济社会的飞速发展,企业规模的不断壮大,企业对满足业务需求的系统也提出了更高的要求。这种系统应该能迅速的上扩以适应不断增长的业务需求和用户数量的急剧增加,又能在系统利用不足时,为节约成本而能迅速下扩。这正是可伸缩性系统所具有的特点。客户端应用程序有多种类型,从传统的基于Win32的Windows应用程序到基于HTML的Web应用程序,到移动设备。这种趋势使得信息提供者之间的竞争越来越激烈,由此,应用程序的体系结构和编码设计,都需要考虑到可伸缩性。.NET的出现方便和加快了应用系统的创建,但基于.NET平台的可伸缩性却关注甚少。本文将讨论基于.NET平台的可伸缩性技术以及如何创建一个基于.NET平台的可伸缩性系统。本文主要就以下几个方面进行探讨: (1) 介绍可伸缩性的具体含义和相关概念,以说明为什么可伸缩性对企业来说非常重要。 (2) 介绍和可伸缩性密切相关的集群技术,以及它是如何改善可伸缩性的。重点就集群技术中的负载平衡问题进行了探讨。接着讲述了在设计可伸缩性系统中,应该遵循哪些原则。最后简单说明了系统的可伸缩性测量方法。 (3) 详细分析对比了当前的两个主流的开发平台的可伸缩性架构,以及在开发过程中该如何选择。 (4) 重点研究如何基于.NET平台构建一个可伸缩的系统。在数据库的设计上,采用规范化理论和存储过程来提高可伸缩性。确立了一个坚固的数据库设计之后,那么在数据访问层上,将利用ADO.NET的功能,通过一个专用的SQL Server访问库和其它一些功能,来提高性能,以改善可伸缩性;在业务逻辑层中将通过Web Service和消息队列来加强可伸缩性;在用户表示层中主要利用ASP.NET技术中的缓存技术进一步的提高系统的可伸缩性的。 (5) 通过一个企业级的办公自动化系统的开发和部署,以说明如何在一个具体的应用中,基于.NET平台,去构建一个可伸缩的系统。给出了总体规划和详细设计,并实现之。由于环境的限制,本文将对其可伸缩性进行简单的测量和评价。 (6) 在本文最后进行了简单的总结和展望,同时给出了本文中尚待解决和研究的一些问题。