分布式副本一致性问题

作者: kason_zhang | 来源:发表于2018-05-12 22:08 被阅读35次

当我们开发大数据应用时, 通常会接触到数据一致性,通常为了提高数据的高可用性,防止单点数据故障,我们会提供数据副本, 这时候冗余副本的数据库一致性问题就是需要考虑的问题。在此处整理了三种方式, 并展现了HDFS 与 ES使用的副本数据一致性的架构方案。

1 首先我们这里提供一个比较简单粗暴的方式

将请求分发到多个节点,每个节点进行数据的写入, 写完进行回复, 当有指定个节点写入成功后即算一次写入成功。

image.png

这种情况下的优缺点:
优点: 写入时间取决于最慢的那个节点的写入时间
缺点: 网络IO大, 客户端要向每个节点发送数据。

2 HDFS 副本写入一致性

HDFS副本写入一致性使用的是一种链式pipeline的形式。


image.png

这个流程是先写入第一个datanode中,然后读取namenode中其他datanode的位置,通过datanode类似pipeline形式一级一级往下写,然后一级一级向上返回,最终返回给客户端。
优点: 能保证数据的强一致性
缺点: 需要所有副本正常插入数据,才能算写成功, 效率不够高

3 ES 副本写入一致性



这个写入流程是先通过写主节点, 当主节点写入成功后, 将数据请求同时向所有的副本节点发送, 副本节点进行处理然后应答主节点, 当主节点收到所有副本节点的应答之后就开始向客户端返回本次写入成功。
优点: 性能较好, 写入时间取决于主节点写入时间+max(副本节点写入时间)
缺点: 依赖主节点, 数据量大的时候网络IO有压力。

相关文章

  • 关于gfs一致性模型解释

    一致性背景分布式存储系统中,不管是文件系统还是数据库,只要数据存在多个副本,都涉及一致性问题。其中一致性包括内部一...

  • 分布式副本一致性问题

    当我们开发大数据应用时, 通常会接触到数据一致性,通常为了提高数据的高可用性,防止单点数据故障,我们会提供数据副本...

  • 区块链学习之分布式系统核心问题(四)

    区块链系统首先是一个分布式系统,分布式系统的核心问题包括一致性、共识 一致性问题 一致性问题是分布式领域最为基础也...

  • 2020-07-03

    Paxos+ZAB协议,分布式一致性问题的工业解决方案ZooKeeper手册 在计算机科学领域,分布式一致性问题是...

  • paxos算法

    paxos算法是为了解决分布式系统的一致性问题而生的。 分布式系统的一致性问题表现为在一个分布式系统中,所有的节点...

  • 区块链开发:共识机制PoW #C06

    分布式一致性与共识 区块链的本质就是一个分布式系统,而分布式系统通常面临了几个问题:一致性问题,可终止性问题、合法...

  • 2PC和3PC基本原理

    分布式一致性回顾 在分布式系统中,为了保证数据的高可用,通常,我们会将数据保留多个副本(replica),这些副本...

  • 跟我学分布式事务之2PC和3PC

    分布式一致性回顾 在分布式系统中,为了保证数据的高可用,通常,我们会将数据保留多个副本(replica),这些副本...

  • 2018-07-05

    分布式一致性问题 分布式系统中的数据一致问题 线程池的核心原理 设计秒杀系统

  • 2、分布式基础之一致性协议、2PC和3PC

    一、一致性问题 一致性问题:一致性问题就是相互独立的节点之间如何达成一项决议的问题。分布式系统中,进行数据库事务提...

网友评论

    本文标题:分布式副本一致性问题

    本文链接:https://www.haomeiwen.com/subject/vonhdftx.html