`
izuoyan
  • 浏览: 9219908 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

.NET企业级应用架构设计系列之应用服务器

阅读更多

本文属spanzhang(张友邦)原创,发布地址为:http://blog.csdn.net/spanzhang。转载或引用请注明原文之出处,谢谢!

.NET企业级应用架构设计系列之开场白

.NET企业级应用架构设计系列之技术选型

这里要说到的是关于三层架构中的应用服务器。对于电子商务网站来说,成熟的架构基本上都是采用分层式的。分层的结构一方面适合人脑的思维方式,另一方面在解决扩展性方面非常有效。目前市面上的各大解决方案提供商在电子商务和一般WEB应用领域都有相应的分层解决方案,软件架构设计在这一方面几乎不存在多少争议。

出于对可扩展性以及可维护性的考虑,对业务逻辑的解耦得到的便是应用服务器。这样的情况在软件系统中非常常见,在任何情况下都能通过额外一层间接来获得灵活性,但可能会引入潜在的性能问题。在Windows Server 2008问世之前的.NET平台没有应用服务器的专门产品,架设应用服务器可以有多种可选的方案。常用的.NET应用服务器方案有:
A) 使用IIS驻留ASP.NET Web Service
B) 使用.NET Remoting提供远程对象
C) 使用Enterprise Services (COM+)提供跨进程对象调用

这三种方式中,采用TCP/Binary通道的.NET Remoting是三个方案中性能最好的,而采用ASP.NET Web Service则能提供更多的跨平台特性。在性能对比上,ASP.NET Web Service大约是TCP/Binary .NET Remoting的60%左右(和传递的数据有关),这中间的差异来自于网络传输上,ASP.NET Web Service会花费较多时间在大对象的数据串行化(Serialization)上。二进制格式的Remoting实现也提供了对象级(包括单件——singleton特性)的支持,在性能要求占主导地位的方案中较多采用。

面对这个情况,最好的解决方法是在实现的时候提供一个更加灵活的架构来随时调整策略而让调整的代价保持在最小。也就是说,把系统的核心逻辑实现为一个对象群,然后通过facet方式以最小的努力适配到不同的调用接口上。当然,最初是以SOA的方式发布WEB服务给客户端调用,以尽量实现可移植的环境。如果发现这种模式成为了系统中的性能瓶颈,则改为TCP/Binary .NET Remoting的方式发布对象

总的来说,应用服务器的架构是一个演化模型,可以随着需求和实际负载的变化实行平滑过渡。当应用服务器的横向扩展也无法应付更大的负载的时候,实际的性能瓶颈已经转移到了系统的其它地方,比如磁盘访问或接入带宽等。

分享到:
评论

相关推荐

    Microsoft .NET企业级应用架构设计

    《Microsoft .NET企业级应用架构设计》是一本深入探讨如何利用.NET框架构建高效、可扩展且易于维护的企业级应用程序的权威指南。这本书的核心内容涵盖了.NET技术在大型项目中的实际应用,旨在帮助开发者理解和掌握...

    基于.NET的企业级应用开发概览

    本文将从多个角度出发,探讨基于.NET的企业级应用开发的关键知识点,包括但不限于三层架构模型(3-Tier Model)、Internet信息服务(IIS)、.NET框架本身、ADO.NET数据库访问技术、Web服务、安全性考虑、团队协作...

    ASP.NET企业级项目实战软件开发ppt

    综上所述,ASP.NET企业级项目实战软件开发涵盖了众多技术和实践,从架构设计到开发工具选择,再到测试和部署策略,每个环节都需要深思熟虑和专业技能。通过这份“ASP.NET企业级项目实战软件开发ppt”,开发者可以...

    软件架构设计系列课程:如何成为一个.NET企业架构师

    本系列课程旨在引导学习者踏上成为一名合格.NET企业架构师的道路。 首先,我们需要明确.NET企业架构师的角色。他们不仅需要精通.NET技术栈,包括C#、ASP.NET、Entity Framework等,还要具备设计可扩展、可维护、高...

    《.Net企业级应用开发》教学大纲

    根据给定的教学大纲,《.Net企业级应用开发》这门课程旨在深入教授学生关于ASP.NET与Web Services的应用与开发技能,特别强调了在B/S架构中IIS的工作原理、数据库访问、XML处理以及Web服务的创建与使用。下面将详细...

    .NET下CS架构系统

    标题提到的".NET下CS架构系统",可能是一个使用C#编程语言编写的客户端应用程序,该程序设计用于与服务器端进行通信,处理数据、执行业务逻辑或提供用户界面。C#是一种面向对象的语言,具有丰富的类库支持,尤其适合...

    ASP.NET 3.5商用开发架构精解源代码

    ASP.NET 3.5是微软推出的Web应用程序开发框架,它基于.NET Framework 3.5,为开发者提供了构建高效、可扩展、动态的商业网站的强大工具...这是一份宝贵的参考资料,可以帮助开发者提升技能,应对复杂的企业级开发挑战。

    asp.net 4高级程序设计第(4)版

    - 讲解如何使用***创建企业级Web应用程序。 - 涉及到*** MVC或*** Web Forms的深入编程技巧。 - 探讨异步编程、事件驱动编程和响应式编程等高级编程模式。 - 分析如何使用Web API构建RESTful服务。 - 讨论缓存、数据...

    在.NET上构架企业级应用程序

    在构建企业级应用程序时,.NET框架提供了强大的工具和库,使得开发人员能够高效地创建稳定、可扩展且安全的应用程序。以下是一些基于.NET构架企业级应用程序的关键知识点: 1. **.NET Framework**: .NET是Microsoft...

    基于.NET的N层分布式系统架构设计

    而在设计一个企业级的应用程序时,则可能更加重视安全性和性能优化。 #### .NET Framework架构简介 .NET Framework是一个由微软开发的软件框架,旨在简化Web应用程序和服务的开发过程。它提供了一系列标准化的服务...

    面向.NET的Web应用程序设计答案

    - **.NET Enterprise Servers**:为企业级应用提供高性能的服务。 - **.NET Building Block Services**:提供一系列标准化的服务组件。 - **Visual Studio .NET**:集成开发环境,支持多种语言和开发工具。 3. *...

    asp.net的三层架构

    总之,ASP.NET的三层架构是构建大型企业级应用的一种常用方法,它有助于创建稳定、可扩展且易于维护的系统。通过理解和实践这种架构,开发者可以更好地组织代码,提高开发效率,同时为未来的系统扩展打下坚实基础。

    《精通ASP.NET2.0企业级项目开发

    《精通ASP.NET 2.0企业级项目开发》是一本深度解析ASP.NET 2.0技术在实际项目中的应用的专业书籍。ASP.NET是微软推出的Web应用程序框架,它基于.NET Framework,为开发者提供了构建动态网站、Web应用和服务的强大...

    ASP.net企业实战 Visio应用

    ASP.NET是微软公司推出的一种基于.NET Framework的Web应用程序开发平台,它为企业级应用程序构建提供了强大的支持。Visio,则是微软的一款图形和图表设计工具,主要用于创建流程图、组织架构图、网络拓扑图等,广泛...

    asp.net的三层架构模式

    ### ASP.NET三层架构模式详解 ...综上所述,ASP.NET三层架构模式是一种非常实用且高效的软件设计模式,尤其适用于大型的企业级应用开发。通过对各层的合理设计和实现,可以显著提高软件的质量和性能。

    www.cn-ki.net_基于J2EE架构的分布式企业级Web应用研究1

    基于J2EE架构的分布式企业级Web应用具有很多优势,例如提供中间层集成框架,能够充分利用用户资源投资资源,具有很强的安全机制,能够提高服务器的性能等。同时,我们也可以使用Java技术建立Web应用,例如JSP+...

    ASP.NET企业级项目实战软件开发课件

    综上所述,"ASP.NET企业级项目实战软件开发课件"将涵盖ASP.NET的核心技术和在实际项目中的应用策略,帮助你从理论到实践,全面掌握ASP.NET开发,胜任企业级项目的开发需求。通过深入学习和实践,你将成为一名精通ASP...

    基于Dot Net平台的企业级应用程序的架构设计

    在实际项目中,Visual Studio .NET提供了企业级模板,可以帮助快速构建符合标准的多层架构应用。此外,还需要考虑其他因素,如使用UML进行建模,以及根据团队技能选择合适的编程语言(如C#或VB.NET)。 总之,基于...

    C#.net企业网站

    综上所述,“C#.net企业网站”项目涵盖了C#.NET语言基础、ASP.NET Web Forms/MVC、数据库交互、前端设计、安全性措施、部署策略等多个方面,是全面学习和实践企业级Web开发的好例子。通过深入研究这个项目,开发者...

    asp.net三层架构的理解

    ASP.NET的三层架构是一种软件...总的来说,ASP.NET的三层架构提供了良好的结构和可扩展性,有助于构建大型、复杂的企业级应用。通过合理划分和部署,可以有效地平衡性能、可维护性和成本,以适应不断变化的业务需求。

Global site tag (gtag.js) - Google Analytics