Comp 201 week 16
Distributed Systems Architectures
- 定义: 在不止一个processor上运行的软件
- 系统类型
- Personal System: 只在自己电脑上运行的
- Embeded System: 在一个或 a group of integrated processors
- Distributed System: software runs on a loosely integrated group of cooperating processors.
- Distributed Systems Architectures
- Client-server architectures: Server提供服务, client使用服务
- Distributed object architectures: 没有明显的client和server的区别,任何一个object既可以使用也可以提供服务
- Middleware
- 定义:管理和支持分布式系统的不同组件
- 通常是现成的(off-the-shelf)
Examples of Distributed System
1. Multiprocessor Archietecture
- 最简单的分布式系统
- 不同的进程可能在不同的processor上执行,具体那个进程在哪个处理器上执行可能是pre-ordered也可能是由dispatcher控制的
- 通常是实时系统
2. Client-server architecture
- client知道server,但server不需要知道client
- Clients and servers are logical processes
- process到processor的映射不一定是1:1
3. Layered Architecture
-
结构:
- 展示层(Presentation layer)
- 应用处理层(Application Managenent)
- 数据管理层
-
Thin and Fat Clients & 3-tier architecture
-
Thin Clients: server: application处理和数据管理都在上完成。Client:只负责展示。
(1). 何时使用; Used when legacy systems are migrated to client server architectures.
(2). 缺点:server和network的processing load比较大 -
Fat Clients: server: 数据管理。client上的软件完成application logic和system user interaction.
(1) 何时使用:适合新的client-server system,而且server的load预先知道。
(2)比thin client更复杂:因为如果软件更新,所有的client都需要安装 -
Three-tier Architecture
- 不同的layer可以被不同的processor处理
- 比瘦的性能更好,比胖的更好管理
-
Thin Clients: server: application处理和数据管理都在上完成。Client:只负责展示。
4. Distributed Object Architecture
- object request broker (software bus): Object communication is through a middleware system called an object request broker (software bus)
- 比client-server更难设计
- 优点
- Very open,随时加资源(Object communication standards)
- 能够延迟何时提供服务的决定(因为谁都可以提供服务)
- flexible与scalable
- 可以在即使有object migaration的情况下,动态地调整网络