分布式计算、云计算与大数据第一章

分布式计算概念

1.稀有资源可以共享。
2.通过分布式计算可以在多台计算机上平衡计算负载。
3.可以把程序放在最适合运行它的计算机上。 其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。

分布式计算优缺点

优点:超大规模、虚拟化、高可靠性、通用性、高可伸缩性、按需要服务、极其廉价、容错性。
缺点:1.多点故障:一台或多台计算机的故障,或一条或多条网络链路的故障,都会导致分布式系统出现问题。
2.安全性:分布式系统为非授权用户提供了更多机会。

云计算概念提出

提出者:Google工程师,比西利亚,27岁
出发点:推广Goole超级强大的计算资源,招贤纳士
结果:蜂拥而至,名噪一时,被视为”云“的起源

分布式系统介绍

  分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。

分布式系统的特征

可靠性:指一个分布式系统在它的某一个或多个硬件的软件组件造成故障时,仍能提供服务的能力。
可扩展性:指一个系统为了支持持续增长的任务数量可以不断扩展的能力。
可用性:指一个系统尽可能地限制系统因故障而暂停的能力。
高效性:指一个分布式系统通过分散的计算资源来实现任务执行的高效率。

CAP理论

分布式计算、云计算与大数据第一章

分布式计算基础技术

  分布式计算结合了NoSQL与实时分析技术,如果想要同时处理实时分析与NoSQL数据功能,那么你就需要分布式计算技术。分布式技术结合了一系列技术,可以对海量数据进行实时分析。更重要的是,它所使用的硬件非常便宜,因而让这种技术的普及变成可能

进程间通信

  分布式计算的核心技术是进程间通信,即在互相独立的进程(进程是程序的运行时表示)间通信及共同协作以完成某项任务的能力。
在分布式计算中,两个或多个进程按约定的某种协议进行IPC,此处协议是指数据通信各参与进程必须遵守的一组规则。在协议中,一个进程有些时候可能是发送者,在其他时候则可能是接收者。当一个进程与另一个进程进行通信时,IPC被称为单播(unicast);当一个进程与另外一组进程进行通信时,IPC被称为组播(multicast)。

IPC程序接口的四种基本操作

  发送(Send)。该操作由发送进程发起,旨在向接收进程传输数据。操作必须允许发送进程识别接收进程和定义待传数据。
接收(Receive)。该操作由接收进程发起,旨在接收发送进程发来的数据操作必须允许接收进程识别发送进程和定义保存数据的内存空间,该内存随后被接收者访问。
  连接(Connect)。对面向连接的IPC,必须有允许在发起进程和指定进程间建立逻辑连击的操作:其中以进程发出请求连接操作而另一进程发出接受连接操作。
断开连接(Disconnect)。对面向连接的IPC,该操作允许通信的双方关闭先前建立起来的某一逻辑连接。

事件同步

  IPC中的一个主要难点是进行IPC的各相关进程是独立执行的,各进程不知道对方进程的情况。协议涉及的双方必须按特定顺序发起IPC操作,否则可能通信失败。
因此,参与通信的两个进程需要同步他们的操作,由一方发送数据,另一方则需要等待所有数据发送完成时,开始接收数据。
IPC设施提供事件同步的最简单的方法是使用阻塞(blocking)机制或同步(synchronous) ,即挂起某一进程的执行,直到该进程发起的某个操作执行结束。另外,IPC操作可以是异步(asynchronous)或非阻塞操作(nonblocking)。进程发起的异步操作不会引起阻塞。因此,一旦向IPC设施发出异步操作后,进程可以继续执行。当该异步操作完成后,进程才会随后得到IPC设施的通知。

死锁和超时

  虽然阻塞提供IPC必要的同步,阻塞以错误的顺序发起是可能会引起死锁( deadlocks )。
连接和接收操作可能会导致无限期的阻塞( indefinite blocking ),死锁也可能造成无限期的阻塞。
  例如,进程Process1和进程Process2因相互等待对方而无限期阻塞,此时,即由无限期阻塞而产生了进程的死锁。见后页的图示说明。
我们一般不期望被请求的进程被无期限挂起(即无期限阻塞),无期限阻塞可以通过使用超时或子线程来避免。