(1)、客户端/服务器架构
客户端/服务器架构(简称CS架构)是人们曾经运用最多的,并且一直是软件开发领域的主流应用程序结构。在C/S架构下每个客户端运行单独的应用程序实例,因而不能够适应简单的客户端交互;而且当客户端达到成百上千用户同时使用的时候,服务器的数据库立即成为瓶颈,这是非常可怕的,顷刻之间就可以使服务器崩溃。就算现在系统运行非常良好,可是当需求扩大时这样的架构就要全部重新设计和部署。而随着人们对计算机软件需求的不断提高以及面对越来越复杂的业务逻辑,加上地域的限制,传统的CS架构逐渐暴露出来问题,比如性能下降、无法扩充等。
(2)、传统B/S架构
传统B/S架构中的Web服务器既要负责执行服务器端脚本来完成日趋复杂的网络管理逻辑,又要为浏览器请求内容的需求服务,负载不断加重,已经逐渐成为阻碍系统高效运行的瓶颈。同时,传统的B/S架构在编程逻辑、软件质量、功能实现、执行速度、系统安全、开发效率等诸方面也日益表现出明显的局限性。这些都是传统B/S架构不能解决的问题。
(3)、基于分布式的架构
分布式架构为客户端/服务器架构面临挑战的扩张性问题提供了解决方案,同时也解决了B/S架构面临的性能问题。基于分布式架构下的应用程序独特之处在于:程序的每一个部分能够运行在另外一台远程计算机的进程中,它把软件模块化成一组跨越不同计算机进行通信的对象,提供诱人的可扩充性。下面是分布式架构的模式:
图2:分布式架构调用进程
图2中的服务器进程还可以根据需求不断增加,这样就可以把不同任务分别加在不同的组件中,并且把这些组件部署到不同的服务器上。这样,大型系统的子程序就可以部署在多台服务器上面,当需要增强服务器能力的时,只需要添加新的服务器,可扩充性得到了很大的提高;并且,如果一台服务器出现了问题,不会影响到其他服务器的工作,可靠性也得到了保证。
最后需要指出的是,也要慎重使用分布式架构,虽然分布式架构在解决复杂问题都时有很大的优势,但是分布式架构下的应用程序的开发及部署也是复杂的。
许多开发工具提供商和个人为分布式应用程序提供了许多良好的框架,比如微软的.NET技术提供了.NET远程调用、XML Web服务和企业服务COM+技术,下一节将要讨论的CSLA.NET就是在.NET支撑下抽象出来的一个开发分布式应用程序的框架。
没有评论:
发表评论