云计算开发(二) 分布式计算与分布式系统

1、分布式计算概述

分布式计算就是将计算任务分摊到大量的计算节点上, 起完成海量的计算任务。

2、分布式计算理论基础

2.1、ACID原则

原子性(Atomicity)、一致性(Consistency)、独立性(Isolation)、持久性(Durability),这四种原则保证在事务过程当中数据的正确性。

2.2、CAP理论

一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。 CAP之间需要权衡、取舍。

2.3、BASE理论

BASE是指基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventual Consistency)。BASE理论是对CAP理论的延伸,牺牲强一致性来获得高可用性;BASE理论追求的是最终一致性。

软状态 允许系统中存在中间状态,如允许不同节点间延时同步 最终一致性与强一致性:强一致性即即时一致性,如CAP理论的一致性,最终一致性是系统中所有数据副本经过一定时间后最终能达到一致的状态

2.4、一致性hash算法

使用一致性散列算法(Consistent Hashing)进行负载均衡:一致性hash是一个分布式的hash方法,即用常见的hash算法将key映射在一个2^32虚拟的hash环(hash ring),使得服务具备更好的容错性和扩展性。

一致性hash的虚拟节点:由于服务器节点数量有限,有可能出现分布不均匀的情况,可采用虚拟节点,虚拟节点是实际节点(实际的物理服务器)在hash环上的复制品,一个实际节点可以对应多个虚拟节点。虚拟节点越多,hash环上的节点就越多,数据被均匀分布的概率就越大。

3、分布式系统组成结构

3.1、分布式存储系统

以下5个方向:

  1. 结构化存储:关系型数据库,不易拓展
  2. 非结构化存储:包括文档、文本、图片、音频/视频信息等等,非常多样;有高可拓展,每天产生的数据80%以上都是非结构化的
  3. 半结构化存储

3.2、分布式计算系统

3.3、分布式资源管理系统

4、典型的分布式系统

4.1、网格系统

4.2、P2P系统

Peer-to-Peer,对等网络系统、点对点系统

特性:

对等、无中心节点 部署门槛低 易于拓展 抗攻击 资源丰富

应用:

文件共享 志愿计算

4.3、区块链Blockchain

一种去中心化、不可篡改、可追溯、多方共同维护的分布式数据库系统。

经验分享 程序员 微信小程序 职场和发展