分布式计算(1)

网格计算,云计算与分布式计算的区别

网格计算强调资源共享,使用者同时也是资源共享者,用于计算集中性服务(不便扩展 )。云计算的服务提供者少数而集中,资源专有,便于自动化扩展(其中对等计算更便于扩展,即每个节点拥有对等的服务,可以互相使用数据),使用者无需贡献资源。

分布式计算指将大型任务划分成部分,分配给其他计算机,并将计算结果组合的解决方案,包括云计算与网格计算。而并行计算虽然类似,但并行的单位是处理器,执行并行计算的单位是单机。

CAP理论

Consistency(一致性):不同节点上的同一份数据在同一时间是否一致。

Availability(可用性):集群中一部分节点故障后(包括分区同步信息时),集群整体是否还能处理客户端的更新请求。

Partition tolerance(分区容忍性):是否允许数据分区,即不同区域间在一定时间内无法通信。

CAP理论认为三点至多只能满足两点,比如满足CA的关系型数据库无法做到数据分区并且及时响应( 如果分区,那么在分区同步信息时,系统无可用性,如果仍然提供服务,不同区域的服务器数据将不同),而满足CP的数据库在分区同步信息时无法提供服务,如果cp数据库没有多份数据,那么节点故障后即无法提供服务。对于AP数据库,由于数据同步时提供服务,必然会造成数据不一致。

IPC范型

ipc即interprocess communication,从上层到下层分别是RPC,socket API与data transmission。Remote Procedure Call或Remote method call是最高层次抽象,数据作为参数和返回值。下面的socket api允许应用程序使用名为socket的逻辑结构交换数据,每一方建立一个socket,待发送数据被写入socket,在另一端的应用从socket中提取数据。

最底层的IPC抽象层利用并行或串行机制传输二进制信息,对应OSI传输层及以下(socket本身处于传输层与应用层间)。

分布式计算范型

消息传递范型

A发送请求消息,B接收并应答,并可能继续触发A应答。

客户-服务器范型

服务器被动响应客户端请求。

peer to peer范型

每个节点责任相同,即充当服务器又作为客户端。

消息系统

消息系统充当独立进程的中介,进程间不耦合,而是通过消息系统异步交换信息。消息系统分为两种:point to point与发布-订阅模型。point to point即一个节点向另一个节点发送消息;发布订阅模式中每条消息都与事件有关,感兴趣的应用程序可以订阅事件,事件被触发时将可以收到消息,因此很适合用于广播和组播。

远程过程调用

A向B发送请求并携带参数,接收B的返回值。

分布式对象

和rpc类似,但存在远程对象,对象除了可以使用方法,还拥有自己的数据。

网络服务

服务请求者发送请求到目录服务器,目录服务器返回方法的引用,因此可以使用更多的远程方法。

移动代理

发送请求的主机发送一个代理,代理沿着路径传播,在路径上使用各种服务并最终返回到请求主机。

云服务模型

Iaas,Paas,Saas。

Infrastructure as a service,即提供虚拟化的基础硬件,如云服务器。

Platform as a service,即提供开发、计算平台的服务,如App Engine。

Software as a service,即提供软件作为服务,一般就是B/S模式。