zoukankan      html  css  js  c++  java
  • 《.NET分布式应用程序开》读书笔记 第一章:理解分布式架构

    一:何谓分布式?

    首先,分布式应用的执行通常将会在几个计算机上完成。这是它和“单机版”应用程序的主要区别。总结的来说,分布式应用的主要目标就是为了提高系经的整体性能和可伸缩性。它可以避免当Client大量增加时,所带来的性能瓶颈和扩展问题。通过并行地增加物理的Server计算机,来服务更多的Client.

    二:采用分布式的原因有哪些?

    • 将运行在不同环境,操作系统和平台上的程序整合起来。这就是Xml Service的设计初衷,也是ADO.NET采用XML标准的原因。
    • 在多个客户端之间提供同步或在线通讯的功能(比如:聊天服务器)
    • 支持瘦客户端(如:手持设备或只有IE的客户端),因为它们的运算和执行能力非常有限。这时服务器将完成大部分的计算工作。

    三:除了分层外,分布式应用的特点有哪些?

    分层的程序,不一定就是分布式的,因为分层有物理和逻辑上之分。除了物理上进行分层,分布式应用还有如下特点:

    • 基于组件的代码重用
    • 将代码逻辑分为业务对象(BO)和数据访问对象 (DO)
    • 多线程
    • 断开的连接,无状态的数据
    • 事务性的编程

    下图为一个分布式应用的示例图:

    未命名

    四:分成式应用程序的优势在哪?

    1. 可伸缩性,可以说是分布式应用的最大亮点,只要需要,新的计算机可以新容易地加入到现在的系统当中,而不需要做特别的处理。稳定性也是其一大特点之一,如是你使用群集,其中一台计算机的问题不会影响整个系统,因为系统中其他的Server可以照常服务客户端。
    2. 还有比如,连接池,对象池,实时激活等特点,都是以前的C/S程序所不能比的。

    五:.NET中分布式所采用的技术

    • .NET Remting,就Dcom有替代者。如果你在编写一个局域网的应用程序,这将是最好的选择,因为使用TCP连接,性能很高,而且配置也很灵活。使用.NET Remoting,你保持远程对象的状态,或开发P2P的程序。注意:.NET Remoting不能做Load-Balancing。下面为.NET Remoting应用程序的一个示例。每个客户端在服务器上都有持有一个单独的对象:

    未命名2

    • XML Web Services,也许是.NET最著称的特点吧。它有如下特点:
      • 是跨平台,跨语言的。.NET可以调用Java的WS,反过来也一样。
      • 专门在Web上用的。网上有各种各样的WS,提供各种不同的功能,如股票行情,天气预计等等,都可以通过WS调用。
      • 容易开发,就像开发普通的类和方法一样。
      • 使用Soap交互信息。下图为Web Service应用的一个示例:

    未命名3

    • DCom/COM+,在.NET中有新的名字:Enterprise Service(企业服务),其实本质是一样的。因为.NET 2.0后有了Remoting和WCF及Web Servcie,COM+现在很少人用。但它提供的一些高级特性,在一些情况下,还是很好的选择,如分布式事务,消息队列,对象池,JIT激活。最主要的一点是,它支持Load-Balancing和安全配置。在域环境或多种开发语言整合时,能派上用场。
  • 相关阅读:
    15调度
    如何在idea中找到通过依赖添加的jar包位置
    验证码实现步骤
    重构:利用postman检测前后端互相传值
    反射机制
    Unexpected update count received. Changes will be rolled back. SQL: DELETE FROM `myproject`.`role_module` WHERE `role_id` = ? AND `module_id` = ?
    JavaSE基础之 IO_Buffer
    JavaSE基础之 IO流
    JavaSE基础之 XML(可扩展标记语言)
    JavaSE基础之继承
  • 原文地址:https://www.cnblogs.com/rockniu/p/1546792.html
Copyright © 2011-2022 走看看