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

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

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

收起
参与7

查看其它 1 个回答baimmi的回答

baimmibaimmi系统架构师中国银联股份有限公司

从服务端角度,如何尽快将更新后的数据分布到整个系统,降低达到最终一致性的时间窗口,是提高系统的可用度和用户体验非常重要的方面。对于分布式存储系统:
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
浏览3401

回答者

baimmi
系统架构师中国银联股份有限公司
擅长领域: 存储灾备分布式架构

baimmi 最近回答过的问题

回答状态

  • 发布时间:2018-06-21
  • 关注会员:2 人
  • 回答浏览:3401
  • X社区推广