第一章 分布式计算
一、分布式计算概念
分布式计算是一门计算机科学,主要研究对象是分布式系统。简单地说,一个分布式系统是由若干通过网络互联的计算机组成的软硬件系统,且这些计算机互相配合以完成一个共同的目标。
分布式计算指在分布式系统上执行的计算。分布式计算是将一个大型计算任务分成很多部分分别交给其他的计算机处理,并将所有的计算结果合并为原问题的解决方案。
1、优缺点
优点
超大规模、虚拟化、高可靠性 、通用性 、高可伸缩性 、按需服务 、极其廉价 、容错性;
缺点
多点故障:
一台或多台计算机的故障,或一条或多条网络链路的故障,都会导致分布式系统出现问题
安全性:
分布式系统为非授权用户的攻击提供了更多机会
2、相关计算形式
单机计算
最简单的计算形式,不与网络互连,一台设备仅供一个用户使用。
并行计算
是指同时使用多种计算资源解决计算问题的过程。通常指一个程序的多个部分同时运行于多个处理器上。
网格计算
网格计算强调资源共享,任何节点都可以请求使用其它节点的资源,任何节点都需要贡献一定资源给其他节点,并且难以自动扩展。
网络计算
把网络连接起开的各种自制资源和系统组合起来,已实现资源共享,协同工作和联合计算,为各种用户提供基于网络的各类服务。
云计算
云计算强调专有,请求或获取的资源是专有的,并且由少数团体提供,使用者不需要贡献自己的资源,侧重事务性应用,大量的单独的请求,可以实现自动或半自动的扩展。云计算集成了很多其他计算方式的特点,在计算能力上更加突出。
二、分布式系统
分布式系统指通过网络互连,可协作执行某个任务的独立计算机集合。
1、系统特征
可靠性:指一个分布式系统在它的某一个或多个硬件的软件组件造成故障时,仍能提供服务的能力。
可扩展性:指一个系统为了支持持续增长的任务数量可以不断扩展的能力。
可用性:指一个系统尽可能地限制系统因故障而暂停的能力。
高效性:指一个分布式系统通过分散的计算资源来实现任务执行的高效率。
分布式计算需要
CAP理论:
一致性:所有节点访问最新的数据副本
可用性:数据更新高可用性
分区容忍性:某些节点失效时仍能正常工作
一个分布式系统应该同时满足以上条件的其中两点
2、经典项目
WWW:环球信息网(World Wide Web),最大的分布式系统
SETI@home:寻找外星人组织(Search for Extra Terrestrial Intelligence at Home)
BOINC:伯克利开放式网络计算平台
高效性:指一个分布式系统通过分散的计算资源来实现任务执行的高效率。
分布式计算需要
3、基础技术
进程间通信:分布式计算的核心技术是进程间通信,即在互相独立的进程间通信及共同协作以完成某项任务的能力。
接口原型操作:发送,接受,连接、断开连接
事件同步:同步与同步、同步与异步,异步与异步