NWR协议

简介

MWR协议是一种在分布式存储系统中用于控制一致级别的一种策略.在亚马逊的云存储中,就应用nwr来控制一致性

N : 在分布式存储系统中有多少份备份的数据

W:代表一次更新操作至少要有W份数据写入成功

R:代表一次读操作要有R份数据成功读取

原理

NWR值的不同组合会产生不同的一致性效果,当W+R>N的时候,整个系统对于客户端来讲能保证强一致性

以常见的N=3,W=2,R=2为例

N=3,表示任何一个对象都必须要有三份副本

W=2,表示,对数据的修改操作只需要3个副本中的2个上面完成就返回

R=2表示,从三个对象中读取到2个数据对象才能返回

当W是2,R是2的时候,W+R>N这种情况对于客户端就是强一致性的

如果R+W>N,则读取操作和写入操作成功的数据会有一定的交集(如图中的Node2)这样就可以保证一定能够读取到最新版本的更新数据,数据的强一致性得到了保证.在满足数据一致性协议的前提下,R或者W设置的越大,则系统的延迟越大,因为这取决于最慢的那份备份数据的响应时间.

当然R+W<N无法保证数据的强一致性

Last modification:December 21, 2022
如果觉得我的文章对你有用,请随意赞赏