栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

分布式一致性协议

分布式一致性协议

CAP

CAP是指在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾。

常见注册中心对比:

单主协议(不允许数据分歧):

整个分布式系统就像一个单体系统,所有写操作都由主节点处理并且同步给其他副本。例如主备同步、2PC、Paxos 都属于这类协议。

1:zab 协议

ZooKeeper 使用该协议实现

ZAB也是对Multi Paxos算法的改进,大部分和raft相同。

2:Raft协议

etcd 使用该协议实现

Raft算法是对Paxos算法的简化和改进。

3:Paxos 协议

Paxos有个很特别的就是协调者(proposer)只需等到超过1/2(多数派)的节点同意而不是全部节点,这样只有当1/2的节点同时出现故障整个系统才会有问题,加上同时这个限定条件后,这个系统的故障概率是极低极低的。

多主协议(允许数据分歧):

所有写操作可以由不同节点发起,并且同步给其他副本。例如 Gossip、POW。

它们的核心区别在于是否允许多个节点发起写操作,单主协议只允许由主节点发起写操作,因此它可以保证操作有序性,一致性更强。

而多主协议允许多个节点发起写操作,因此它不能保证操作的有序性,只能做到弱一致性。

1:Gossip协议

Redis Cluster、Consul 使用了该协议

Gossip又被称为流行病算法,它与流行病毒在人群中传播的性质类似,由初始的几个节点向周围互相传播,到后期的大规模互相传播,最终达到一致性。Gossip协议被广泛应用于P2P网络,同时一些分布式的数据库,如Redis集群的消息同步使用的也是Gossip协议,另一个重大应用是被用于比特币的交易信息和区块信息的传播,Gossip算法每个节点都是对等的,即没有角色之分,Gossip算法中的每个节点都会将数据改动告诉其他节点。

2:Pow协议

比特币使用了该协议

Proof-of-work算法又被称为Pow算法,其实从这个算法的名称中我们能对它实现的功能窥见一二,工作量证明算法,那是否意味着工作量较大的某一个节点能够获得主动权呢?事实也是类似这个原理,大量的节点参与竞争,通过自身的工作量大小来证明自己的能力,最终能力最大的节点获得优胜,其他节点的信息需要与该节点统一。Pow最为人所熟知的应用是比特币,

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774672.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号