开发者社区> 问答> 正文

GFS是如何保证一致性的?

GFS是如何保证一致性的?

展开
收起
kun坤 2020-04-23 16:04:32 1439 0
1 条回答
写回答
取消 提交回答
  • GFS只 保证一次原子写入,数据已经在一个副本落盘。在经过一定时间后,所有的副本数据会一致。

    假设出现网络分区,导致脑裂(split brain,存在两个primary)。出现这种情况,GFS引入60秒的租约时间,出现primary不能连通,就必须等待超时(剩余的时间client可以通过cache的primary信息计算)。

    当Primary响应客户端已经成功append 记录,随后客户端立即进行读取,看到的应是最新的文件。(注意:不是所有的客户端都能看到最新的文件,GFS是弱一致性。需要等待时间同步到其他节点,通过“就近”复制.)

    2020-04-23 16:04:41
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
分布式高并发缓存6.0 立即下载
PolarDB-X 基于 X-Paxos 一致性协议的高可用 立即下载
在多租户环境中提高HBase可用性 立即下载