美文网首页
聊聊ZAB(一)

聊聊ZAB(一)

作者: lucasgao | 来源:发表于2021-03-19 18:38 被阅读0次

译文

我们的故障模型是带状态恢复的崩溃模式。我们没有依赖同步时钟,但是我们假设服务对时间的感知是一致的(we do assume that servers preceive time pass at approximately the same rate)。组成ZAB的进程是有持久化的状态的(即可以把状态持久化到磁盘),所以当进程重启或者失败重启的时候可以通过持久化状态进行恢复。 这就意味着一个进程自身是有状态的,并且这个状态是有可能部分失效的。比如缺失了部分最近的事务或者更严重的,这个进程中包含了已经失效的进程。

我们需要考虑f个机器故障,并且要去考虑故障恢复,比如电源中断。 从这些故障中正常恢复,我们需要保证在交付(delivered)之前, 信息已经存到了大数据机器的磁盘上(已经持久化了)。

并且我们假设没有拜占庭错误的,因为我们在内部对错误数据进行了处理。并且我们增加了一些元数据并用他们做正确性校验。并且一旦检测出数据错误,我们就会中止进程。

...

zk相关跳过

...

我们的这种错误实现意味着:当一个服务恢复的时候,它将去读快照并且 重复执行 快照之后所有已经 交付了的事务。所以,恢复期间我们不能保证所以的消息只交付一次。 所以我们依赖幂等保证多次交付的正确性。只要所有事务的顺序都是一致的就OK。 我们需要保证 如果 有序列 a->b,那么故障恢复之后 a如果被交付,那么b应该也要交付 并且要在a之后。 ···

This is a relaxation of the total order requirement. Specifically, if a is delivered before b and after a failure a is redelivered, b will also be redelivered after a.

相关文章

  • 聊聊ZAB(一)

    译文 我们的故障模型是带状态恢复的崩溃模式。我们没有依赖同步时钟,但是我们假设服务对时间的感知是一致的(we do...

  • 聊聊ZAB(三)

    协议(实现) ZAB协议包含2种模式:恢复(recovery)和广播(boradcast)。 当服务刚启动或者经历...

  • 聊聊ZAB(二)

    为什么引入新的协议(对比) 这个时候paxos总是被吊出来 我们知晓目前有一个比较好的候选算法:paxos。它可以...

  • Zookeeper——一致性协议:Zab协议

    什么是Zab协议 Zab 协议的作用 Zab 协议原理 Zab 协议核心 Zab 协议内容 消息广播 崩溃恢复 如...

  • Zookeeper ZAB协议

    什么是Zab协议 Zab 协议的作用 Zab 协议原理 Zab 协议核心 Zab 协议内容 原子广播 崩溃恢复 如...

  • 聊聊zookeeper的ZAB算法

    zookeeper官网zookeeper源码地址 简介 在做分布式系统时,我们常常需要维护管理集群的配置信息、服务...

  • zookeeper zab协议(二)

    zookeeper zab协议 zab协议概述 ZAB 协议是为分布式协调服务 ZooKeeper 专门设计的一种...

  • zookeeper随笔 - 一致性及选举算法

    zookeeper保持数据一致性是通过Zab协议实现的。 ZAB协议 ZAB全称是Zookeeper Atomic...

  • ZAB协议理解参考

    ZAB协议概要 一) ZAB协议是专门为ZooKeeper实现分布式协调功能而设计。ZK主要是依据ZAB协议来实现...

  • Zookeeper-一致性协议ZAB

    一致性协议ZAB by shihang.mai ZAB:zookeeper Atomicity broadcast...

网友评论

      本文标题:聊聊ZAB(一)

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