第一章 概述


定义

好多计算机的组合,但是对用户来说,只看到一个系统。

目标

  1. 使资源可访问 (嗯。。。)
  2. 透明性 (隐藏有很多计算机的事实,看起来是一个。那你妹为啥叫透明性。)
  3. 开放性 (标准的开放)
  4. 扩展性 (有了标准,就好扩展)

分类

分布式计算系统 (云计算)

分布式信息系统(app web的分布式系统)

分布式普适系统 (wtf, 节点不固定,一会来一会走)

第二章 体系结构


体系结构的样式

分布式系统中最重要的体系结构有:

  1. 分层体系结构 (例如网络通信模型)
  2. 基于对象的体系结构 (每个对象是一个组件,组件之间通过rpc调用)
  3. 以数据为中心的体系结构 (web系统?)
  4. 基于事件的体系结构 (消息中间件,发布订阅)

系统体系结构 (由组件、组件的位置、组件的交互确定)

集中式体系结构

c/s 模型

应用分层

mvc

多层体系结构

由 客户机 放v 服务器放 c m 的两层

变成 服务器分成 一个服务器放 c 一个服务器放 m 的 多层体系结构 …

非集中式体系结构 (水平分布)

这里讲的例子是,水平分布的 p2p 体系结构

结构化的点对点体系结构

这里讲了 利用分布式哈希表 组织的覆盖网络 (即,有确定性的分布规则,可利用规则方便寻址)

分布式哈希表 distributed hash table 的资料: 分布式哈希表 一致性hash算法 - consistent hashing

非结构化的点对点体系结构

泛洪

没怎么看懂,需要看图论,随机图

图论 随机图

覆盖网络的拓扑管理

没看懂 同上

拓扑学

超级对等体

维护数据项索引的特别节点,或者充当代理的节点。