NWR协议
1.NWR是一种在分布式存储系统中用于控制一致性级别的一种策略。在亚马逊的云存储系统中,就应用
NWR来控制一致性。
2.N:在分布式存储系统中,有多少份备份数据
3.W:代表一次成功的更新操作要求至少有w份数据写入成功
4.R:代表一次成功的读数据操作要求至少有R份数据成功读取
5.NWR值的不同组合会产生不同的一致性效果,当W+R>N的时候,整个系统对于客户端来讲能保证强一致性。
6.当R+W<=N,无法保证数据的强一致性:因为成功写和成功读集合可能不存在交集,
这样读操作无法读取到最新的更新数值,也就无法保证数据的强一致性。
Gossip 协议
1.Gossip 协议也叫 Epidemic 协议 (流行病协议)。原本用于分布式数据库中节点同步数据使用,
后被广泛用于数据库复制、信息扩散、集群成员身份确认、故障探测等。
2.gossip 协议利用一种随机的方式将信息传播到整个网络中,并在一定时间内使得系统内的所有节点数据一致。
3.Gossip 其实是一种去中心化思路的分布式协议,解决状态在集群中的传播和状态一致性的保证两个问题。
4.Gossip 协议的消息传播方式有两种:
(1)反熵传播:是以固定的概率传播所有的数据。所有参与节点只有两种状态:Suspective(病原)、
Infective(感染)。过程是种子节点会把所有的数据都跟其他节点共享,以便消除节点之间数据的任
何不一致,它可以保证最终、完全的一致。缺点是消息数量非常庞大,且无限制;通常只用于新加
入节点的数据初始化。
(2)谣言传播:是以固定的概率仅传播新到达的数据。所有参与节点有三种状态:Suspective(病原)、
Infective(感染)、Removed(愈除)。过程是消息只包含最新 update,谣言消息在某个时间点之后会
被标记为 removed,并且不再被传播。缺点是系统有一定的概率会不一致,通常用于节点间数据
增量同步。
5.Gossip 协议最终目的是将数据分发到网络中的每一个节点。根据不同的具体应用场景,网络中两个节
点之间存在三种通信方式:推送模式、拉取模式、推/拉模式。
Paxos协议