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

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

  • 分布式计算的概念
    • 定义
    • 分布式计算的优缺点
    • 分布式计算的相关计算形式
  • 分布式系统概述
    • 分布式系统的定义
    • 分布式系统的特征
  • 分布式计算的基础技术
    • 进程间通信
    • IPC程序接口原型
    • 时间同步
    • 死锁和超时
    • 事件状态图

分布式计算的概念

定义

分布式计算是一门计算机科学,主要研究对象是分布式系统。

分布式计算的优缺点

优点:
1、可靠性(容错) :
分布式计算系统中的一个重要的优点是可靠性。一台服务器的系统崩溃并不影响到其余的服务器。
2、可扩展性:
在分布式计算系统可以根据需要增加更多的机器。
3、资源共享:
共享数据是必不可少的应用,如银行,预订系统。
4、灵活性:
由于该系统是非常灵活的,它很容易安装,实施和调试新的服务。
5、更快的速度:
分布式计算系统可以有多台计算机的计算能力,使得它比其他系统有更快的处理速度。
6、开放系统:
由于它是开放的系统,本地或者远程都可以访问到该服务。
7、更高的性能:
相较于集中式计算机网络集群可以提供更高的性能(及更好的性价比)。
缺点:
1、多点故障:
分布式计算存在多点故障的可能。
2、软件:
更少的软件支持是分布式计算系统的主要缺点。
3、网络:
网络基础设施的问题,包括:传输问题,高负载,信息丢失等。
4、安全性:
开放系统的特性让分布式计算系统存在着数据的安全性和共享的风险等问题。

分布式计算的相关计算形式

1、单机计算
单机计算是最简单的计算形式,即利用单台计算机进行计算,此时计算机不与任何网络互联,因而只能使用本计算机系统内可被即时访问的所有资源。
2、并行计算
并行计算是指在并行计算机上所作的计算,即采用多个处理器来执行单个指令。
3、网格计算
网格计算是分布式计算的一种,是一门计算机科学。它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终结果。
4、云计算
云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过这项技术,可以在很短的时间内(几秒种)完成对数以万计的数据的处理,从而达到强大的网络服务。
现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。

分布式系统概述

分布式系统的定义

分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。

分布式系统的特征

1、副本(Replica)是分布式系统最常见的概念之一,指分布式系统对数据和服务提供的一种冗余方式。在常见的分布式系统中,为了对外提供高可用的服务,我们往往会对数据和服务进行副本处理。
  1)数据副本指在不同节点上持久同一份数据,当某一个节点上存储的数据丢失时,可以从副本上读取到该数据,这是解决分布式系统数据丢失问题的有效手段。
  2)服务副本指多个节点提供同样的服务,每个节点都有能力接受来自外部的请求并进行相应的处理。
2、并发性
  在程序运行过程中的并发性操作是非常常见的行为,例如同一个分布式系统中的多个节点,可能会并发地操作一些共享的资源,如何准确并高效的协调分布式并发操作也成为了分布式系统架构与设计中最大的挑战之一。
3、全局时钟
  分布式系统是有一系列在空间上随意分布的多个进程组成的,在这些进程之间通过交换消息来进行相互通信。因此,在分布式系统中,很难定义两个事件究竟谁先谁后,原因就是分布式系统缺乏一个全局的时钟序列控制。
4、故障总会发生
  任何在设计阶段考虑到的异常情况,一定会在系统实际运行中发生,并且,在系统实际运行过程中还会遇到很多在设计时未能考虑到的异常故障。所以,除非需求指标允许,在系统设计时不能放过任何异常情况。
5、可靠性
指一个分布式系统在它的某一个或多个硬件的软件组织故障时,仍能提供服务的能力。
7、可用行
使用单机处理任务时,当处理器出现问题或者关闭时会造成任务暂停,直到处理器被修复或者被替换,任务才能得以继续进行。
8、CAP理论
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
分区容忍性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

分布式计算的基础技术

进程间通信

分布式计算的核心技术是进程间通信(Interprocess Communication,IPC),即在互相独立的进程(进程是程序的运行时表示)间通信及共同协作以完成某项任务的能力。
分布式计算、云计算与大数据 第一章_第1张图片

IPC程序接口原型

在可以提供IPC所需的最低抽象层的基本API中,需要提供以下4种基本操作:
send(发送)。该操作由发送进程发起,旨在向接收进程传输数据。操作必须允许发送进程识别接收进程和定义待传数据。
receive(接收)。该操作由接收进程发起,旨在接收发送进程发来的数据。操作必须允许接收进程识别发送进程和定义保存数据的内存空间,该内存随后被接收者访问。
connect(连接)。对于面向连接的IPC,必须有允许在发起进程和指定进程间建立逻辑连接的操作,其中一进程发出请求连接操作而另一进程发出接受连接操作。
disconnect(断开连接)。对于面向连接的IPC,该操作允许通信的双方关闭先前建立的某一逻辑连接。
分布式计算、云计算与大数据 第一章_第2张图片

时间同步

1.同步send和同步receive
2.异步send和同步receive
分布式计算、云计算与大数据 第一章_第3张图片
3.同步send和异步receive
分布式计算、云计算与大数据 第一章_第4张图片
分布式计算、云计算与大数据 第一章_第5张图片
4.异步send和异步receive
分布式计算、云计算与大数据 第一章_第6张图片

死锁和超时

在阻塞式操作(如connect操作和receive操作)没有正确生效时,可能会引起无限期阻塞或死锁。
对于死锁,有两种避免或解决方法:第一,使用超时机制来设置最大阻塞期限。第二,使用子进程或线程来提供阻塞操作。

事件状态图

事件状态图可以用来记录和表示某一协议执行期间详细的事件及阻塞序列。

你可能感兴趣的:(分布式计算、云计算与大数据 第一章)