分布式存储如何保证数据一致性?

作为一个面向大规模的分布式存储系统,故障处理是作为一个常态异常处理,在多副本机制下,数据的一致性是如何保证的,中间应用了什么机制?

参与7

2同行回答

baimmibaimmi系统架构师中国银联股份有限公司
从服务端角度,如何尽快将更新后的数据分布到整个系统,降低达到最终一致性的时间窗口,是提高系统的可用度和用户体验非常重要的方面。对于分布式存储系统:N — 数据复制的份数W — 更新数据是需要保证写完成的节点数R — 读取数据的时候需要读取的节点数如果W+R>N,写的节点...显示全部

从服务端角度,如何尽快将更新后的数据分布到整个系统,降低达到最终一致性的时间窗口,是提高系统的可用度和用户体验非常重要的方面。对于分布式存储系统:
N — 数据复制的份数
W — 更新数据是需要保证写完成的节点数
R — 读取数据的时候需要读取的节点数
如果W+R>N,写的节点和读的节点重叠,则是强一致性。例如对于典型的一主一备同步复制的分布式存储系统,N=2,W=2,R=1,则不管读的是主副本还是从副本的数据,都是一致的。
如果W+R<=N,则是弱一致性。例如对于一主一备异步复制的分布式存储,N=2,W=1,R=1,则如果读的是从副本,就可能无法读取主副本已经更新过的数据,从而读到了脏数据所以是弱一致性。
对于分布存储式系统,为了保证高可用性,一般设置N>=3,且强制在主副本读取,也是通常说的分布式存储系统使用强一致性原则。

收起
银行 · 2018-06-21
浏览3432

提问者

乃伊组特
系统架构师制造
擅长领域: 云计算容器容器云

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-06-19
  • 关注会员:2 人
  • 问题浏览:4794
  • 最近回答:2018-06-21
  • X社区推广