数据一致性和NRW策略

什么是数据一致性?

分布式系统中,数据会同时写到不同的节点中,同时,读数据时,也会从多个节点中读取。如果网络或服务出现故障,则可能会导致部分节点写入失败。

CAP定理:
Consistency: 一致性,所有副本的数据一致
Availability:可用性,需要在给定的时间内返回结果
PartitionToleranse:分区容忍性,可以对数据进行分区

CAP定理认为,一个存储系统无法同时满足一致性、可用性和分区容忍性。

Quornum系统NRW策略

N:数据所具有的副本数量
R:一次读操作需要参与的最小副本数
W:一次写操作需要参与的最小副本数

需要保证

W > N/2: 某一时刻只能执行一个写操作
R+W > N: R>N-W保证读操作一定能读到最新的数据

W越大,则写的开销越大,读开销越小
R越大,则写开销越小,读开销越大

对于需要最高写效率的场景,可以设置W=1,R=2,即每次只要写一个节点即成功,每次需要读所有节点的数据才成功,否则失败。每次更新一个节点,其他节点可以通过系统内部的同步逻辑来更新到新的数据

你可能感兴趣的:(数据一致性和NRW策略)