![]() |
2.1 分布式系统概论 |
当讨论分布式系统时,我们面临许多以下这些形容词,比如分布式的、并行的、分散的等等,这些形容词描述了不同的类型。由于本书侧重在分布式缓存技术,因此这里就不对分布式系统理论的提出进行考究了。Kleinrock
提出了分布式系统行为的几个根本原则,这本书没有提供分布式系统整个领域的概观,而是深入地讨论了以下几个方面:
·分布式程序设计语言:基本结构。
·理论基础:全局状态和事件排序;逻辑时钟和物理时钟。
·分布式操作系统:互斥和选举;死锁的检测和解决方法;自稳定;任务调度和负载平衡。
·分布式通信:一对一通信;组(collective)通信。
·可靠性:一致性;错误恢复;可靠通信。
·分布式数据管理:复制数据的一致性;分布式并发控制。
·应用:分布式操作系统;分布式文件系统;分布式数据库系统;分布式共享存储器;异型处理。
上述目录远非分布式系统研究相关问题的详尽列表,它只是当今这个研究领域的有代表性的一个子集。
Coulouris
等作者在Distributed Systems-Concepts and Design(5th Edition)一书中表达了他们对分布式系统(概念及设计实现)的观点,如图2-1所示。
图2-1 Coulouris等人对分布式系统的看法
该书在中间件部分提及了远程对象、组件、Web Service、P2P系统;在shared data又补充了非常重要的分布式事务一章。
cmu
是卡内基·梅隆大学的一份课程介绍,该课程属于博士学位的课程,其目标包括3点:
·要了解操作系统和分布式系统中的尖端技术,以及为什么和如何实现。
·了解如何从事系统研究。
·通过一个学期的研究项目,来研究系统的新想法。
这个课程涉及到的内容包括:
·并发、线程、并行、Ordering和Races。
·存储和远程DMA。
·事务处理和数据库。
·通用故障恢复(Paxos等)。
·安全策略。
综上所述,分布式系统是一个内涵极度丰富的领域,单就应用层次而言就涉及分布式缓存、分布式存储、分布式文件系统、分布式锁、分布式事务、分布式调度任务、分布式调度计算、分布式消息、分布式采集等等,因此本章仅从分布式系统的特点以及要求的角度做一些概览性的介绍,未尽之处,可阅读相关论文或者书籍。