Comp 201 week 16

Distributed Systems Architectures

  1. 定义: 在不止一个processor上运行的软件
  2. 系统类型
    1. Personal System: 只在自己电脑上运行的
    2. Embeded System: 在一个或 a group of integrated processors
    3. Distributed System: software runs on a loosely integrated group of cooperating processors.
  3. Distributed Systems Architectures
    1. Client-server architectures: Server提供服务, client使用服务
    2. Distributed object architectures: 没有明显的client和server的区别,任何一个object既可以使用也可以提供服务
  4. Middleware
    1. 定义:管理和支持分布式系统的不同组件
    2. 通常是现成的(off-the-shelf)

Examples of Distributed System

1. Multiprocessor Archietecture

  1. 最简单的分布式系统
  2. 不同的进程可能在不同的processor上执行,具体那个进程在哪个处理器上执行可能是pre-ordered也可能是由dispatcher控制的
  3. 通常是实时系统

2. Client-server architecture

  1. client知道server,但server不需要知道client
  2. Clients and servers are logical processes
  3. process到processor的映射不一定是1:1

Comp 201 week 16

3. Layered Architecture

  1. 结构:

    1. 展示层(Presentation layer)
    2. 应用处理层(Application Managenent)
    3. 数据管理层
  2. Thin and Fat Clients & 3-tier architecture

    1. Thin Clients: server: application处理和数据管理都在上完成。Client:只负责展示。
      (1). 何时使用; Used when legacy systems are migrated to client server architectures.
      (2). 缺点:server和network的processing load比较大
    2. Fat Clients: server: 数据管理。client上的软件完成application logic和system user interaction.
      (1) 何时使用:适合新的client-server system,而且server的load预先知道。
      (2)比thin client更复杂:因为如果软件更新,所有的client都需要安装
    3. Three-tier Architecture
      1. 不同的layer可以被不同的processor处理
      2. 比瘦的性能更好,比胖的更好管理

Comp 201 week 16

4. Distributed Object Architecture

  1. object request broker (software bus): Object communication is through a middleware system called an object request broker (software bus)

Comp 201 week 16

  1. 比client-server更难设计
  2. 优点
    1. Very open,随时加资源(Object communication standards)
    2. 能够延迟何时提供服务的决定(因为谁都可以提供服务)
    3. flexible与scalable
    4. 可以在即使有object migaration的情况下,动态地调整网络