分布式计算、云计算与大数据
分布式计算概述-第1章
分布分布式计算概念
定义
简单地说,一个分布式系统是由若干通过网络互联的计算机组成的软硬件系统,且这些计算机互相配合以完成一个共同的目标(往往这个共同的目标称为“项目”)
分布式计算指在分布式系统上执行的计算。分布式计算是将一个大型计算任务分成很多部分分别交给其他的计算机处理,并将所有的计算结果合并为原问题的解决方案。这里与并行计算不同的是,并行计算是使用多个处理器并行执行单个计算。
优缺点
优点:超大规模 、虚拟化、高可靠性 、通用性 、高可伸缩性 、 按需服务 、极其廉价 、容错性。
缺点:
多点故障:
一台或多台计算机的故障,或一条或多条网络链路的故障,都会导致分布式系统出现问题。安全性:
分布式系统为非授权用户的攻击提供了更多机会。
云计算概念提出
- 提出者:Google工程师,比希利亚,27岁。
- 出发点:推广Google超级强大的计算资源,招贤纳士 。
- 结果:蜂拥而至,名噪一时,被视为“云”的起源。
式系统介绍
分布式系统指通过网络互连,可协作执行某个任务的独立计算机集合。不共享内存或程序执行空间的一系列计算机被认为是相互独立的。
分布式系统特征
可靠性:指一个分布式系统在它的某一个或多个硬件的软件组件造成故障时,仍能提供服务的能力。
可扩展性:指一个系统为了支持持续增长的任务数量可以不断扩展的能力。
可用性:指一个系统尽可能地限制系统因故障而暂停的能力。
高效性:指一个分布式系统通过分散的计算资源来实现任务执行的高效率。
CAP理论
- 一致性:所有客户端总是有同样的数据视图。
- 可用性:每个客户端总是能读写。
- 分区容忍性:当集群中某些节点无法联系时仍能正常提供服务。
分布式计算基础技术
进程间通信
分布式计算的核心技术是进程间通信(interprocess communication,IPC),即在互相独立的进程(进程是程序的运行时表示)间通信及共同协作以完成某项任务的能力。
在分布式计算中,两个或多个进程按约定的某种协议进行IPC,此处协议是指数据通信各参与进程必须遵守的一组规则。在协议中,一个进程有些时候可能是发送者,在其他时候则可能是接收者。当一个进程与另一个进程进行通信时,IPC被称为单播(unicast);当一个进程与另外一组进程进行通信时,IPC被称为组播(multicast)。
IPC程序接口的四种基本操作
发送(Send)。该操作由发送进程发起,旨在向接收进程传输数据。操作必须允许发送进程识别接收进程和定义待传数据。
接收(Receive)。该操作由接收进程发起,旨在接收发送进程发来的数据操作必须允许接收进程识别发送进程和定义保存数据的内存空间,该内存随后被接收者访问。
连接(Connect)。对面向连接的IPC,必须有允许在发起进程和指定进程间建立逻辑连击的操作:其中以进程发出请求连接操作而另一进程发出接受连接操作。
断开连接(Disconnect)。对面向连接的IPC,该操作允许通信的双方关闭先前建立起来的某一逻辑连接。