《分布式存储系统》--总结②

作者: CPinging | 来源:发表于2018-05-03 23:20 被阅读7次

本章承接上一章的总结①,本章详细的讲述了分布式复制、容错等关键技术。


4 复制

        顾名思义,“复制”就是我们常说将数据复制多份存入到不同的机器节点中。分布式存储系统要求确保多个副本之间数据要有一致性。

        一般来说复制分为两种:“强同步复制”与“异步复制”。下面我就具体来讲述上述两种复制。

        强同步复制——即主备服务器均同时同步成功即返回OK。具体实现的方法为同步操作日志。即主服务器将操作日志同步到备用服务器中,然后备用服务器回放日志,完成后通知主服务器。但是若备用服务器gg了,那么久出现阻塞写操作的情况了。所以作为改进,我们可以将这个过程修改为:当有一个备用服务器通知主服务器返回成功即给客户端返回OK。

        异步复制——主副本不需要等待备副本的回应,只需要本地修改成功就可以回应客户端OK。然后主副本则单独通过异步机制复制线程将客户端的修改操作通知备副本。然而,倘若主副本在通知之前故障了,那么就会丢失最后一步的操作。

        在回复服务器的过程中,我们使用了检查点的概念。系统定期将内存状态以检查点的形式dump到磁盘中,配合操作日志进行回放,这样就不需要回放所有日志了。

5 故障检测与恢复

        故障对于计算机来说是不可避免的,由于硬件、网络等原因会引起各种各样的故障问题,所以这里对故障的检测与恢复问题也就显得尤为重要。首先我们在这里介绍故障检测的方法与注意事项。

        分布式的故障检测说白了就是检测我的slave机器是否还活着。最初的解决方案是这样:主机器A向从机器B发送心跳包,当B收到心跳包后予以回应。当A发送一定数量心跳包后仍没有收到回应,那么A就可以认为B已经停止服务。

        但是细心的同学就可以发现,倘若我的B不是宕机了,而是网络问题或者他太忙了不愿意搭理A怎么办?所以上述方案有些小的漏洞,并不是很完善的方案。此时我们就可以使用租约机制(lease)来解决问题。简单来说就是A向B每隔一定时间发送一个租约授权,当B快超时的时候则向A申请“续约”。所以使用这样的解决方案的好处就是当我的B因为网络问题或者过于忙碌的问题出现无法正常续约时,我们的A机器就比较确认B此时无法进行正常服务,也就是意味着B的服务可以被安全的专业到其他机器上。

        下面我们来讨论一下故障恢复的问题。下面是故障恢复的示意图。

故障恢复示意图

        在这个图中我们可以看到对于故障恢复,这里提出了两种解决方案——单层结构与两层结构。简单来说,单层结构就是我的一个总控节点中有三台主机(节点123),而A1、B1、C1为三个副本,且分布作为主副本存入节点123中。当某个节点故障了之后我们就动态的调换到其他节点的对应位置。此时的故障分为临时故障与永久故障。临时故障就等待重新上线即可,而永久故障则需要增加副本操作。

        而两层结构相当于我们在原来的节点的基础上添加了共同享用的分布文件系统,节省了存储空间,但是我觉得这样反而更为复杂,在第二层中其实同样需要考虑上述问题。

相关文章

  • Hadoop相关介绍

    分布式存储系统HDFS(Hadoop Distributed File System)POSIX 分布式存储系统 ...

  • Dynamo论文介绍

    Dynamo是Amazon开发的分布式存储系统,本文是阅读Dynamo论文后的总结:Dynamo: Amazon’...

  • 这样的spark你喜欢吗?

    BlockManager定义 BlockManager是Spark的分布式存储系统,与我们平常说的分布式存储系统是...

  • 前端nginx反代后端mogilefs存储实战实例

    一、MogileFS存储 1、MogileFS分布式文件存储系统 MogileFS是一个开源的分布式文件存储系统,...

  • 分布式存储

    认识分布式存储 分布式存储系统,是通过网络将数据分散存储在多台独立的设备上。 分布式存储系统的特性 可扩展分布式存...

  • 什么是Ulord的分布式储存?

    一、分布式储存的概念分布式存储系统的传统定义:“分布式存储系统是大量PC服务器通过Internet互联,对外提供一...

  • 《分布式技术原理与算法解析》学习笔记Day21

    分布式数据存储三要素 什么是分布式数据存储系统? 分布式存储系统的核心逻辑,就是将用户需要存储的数据根据某种规则存...

  • 《分布式存储系统》--总结①

    第一次书写这本书籍的读后感,我在这里将我对每一章节的大致概念与提及的方法做一个简单梳理总结,方便日后回顾。希望在未...

  • 《分布式存储系统》--总结②

    本章承接上一章的总结①,本章详细的讲述了分布式复制、容错等关键技术。 4 复制 顾名思义,“复制”就是我们...

  • 《分布式存储系统》--总结③

    今天写几个协议方面的内容,并附上部分英文的说明解释,更便于我们去理解此方面相关的知识点。 三、分布式协议 分布式中...

网友评论

    本文标题:《分布式存储系统》--总结②

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