美文网首页
Raft (2)— 日志复制

Raft (2)— 日志复制

作者: lqsss | 来源:发表于2018-03-09 19:33 被阅读0次

过程

一旦一个领导人被选举出来,他就开始为客户端提供服务。客户端的每一个请求都包含一条被复制状态机执行的指令。领导人把这条指令作为一条新的日志条目附加到日志中去,然后并行的发起附加条目 RPCs 给其他的服务器,让他们复制这条日志条目。当这条日志条目被安全的复制(下面会介绍),领导人会应用这条日志条目到它的状态机中然后把执行的结果返回给客户端。如果跟随者崩溃或者运行缓慢,再或者网络丢包,领导人会不断的重复尝试附加日志条目 RPCs (尽管已经回复了客户端)直到所有的跟随者都最终存储了所有的日志条目。

日志条目

每一个日志条目存储一条状态机指令和从领导人收到这条指令时的任期号。在日志中的任期号是用来检查不一致情况。每一条日志条目同时也都有一个整数索引值来表明它在日志中的位置。

安全性

目标:一旦日志应用于状态机,其他状态机不会出现不同的值
Raft安全属性:如果leader认可日志项目可提交,那么这些可提交的日志也会出现在未来的leader的日志里。
如何保证?

  1. leader从来不会重写它们的日志
  2. 只有领导者日志中的条目可以提交
  3. 应用到状态机之前,日志条目必须是认为可提交

相关文章

  • 学习 java raft - atmoix

    什么是 raft 日志复制 http://thesecretlivesofdata.com/raft/ 1: cl...

  • Raft (2)— 日志复制

    过程 一旦一个领导人被选举出来,他就开始为客户端提供服务。客户端的每一个请求都包含一条被复制状态机执行的指令。领导...

  • raft一致性协议

    raft是一个用于管理复制日志的协议,raft首先先选举出一个leader,然后由leader完全管理复制日志,以...

  • 理解raft(2) 日志复制

    Raft保证的safety Leader Append-Only:leader从来不覆写或者删除日志,只会追加新日...

  • 共识算法raft的关键概念

    从etcd源码里看raft raft 算法主要有两个过程:一个过程是领导者选举,另一个过程是日志复制,其中日志复制...

  • Raft精华

    基础 Raft是管理复制日志的一致性算法Raft基于Leader,Follow各个机器上,日志一致了,状态就一致了...

  • Raft(Ver 1.1)

    准备花一星期快速看下Raft Raft是什么 Raft 是一种为了管理复制日志的一致性算法。和Paxos算法有着一...

  • 共识算法 - Raft算法

    1. 什么是 Raft 算法 Raft 是一种为了管理复制日志的共识算法。这个日志可以理解为一个比喻,相当于一个指...

  • RAFT算法

    RAFT算法: RAFT算法引用原文论文翻译的第一句话:RAFT是一种为了管理复制日志的一致性算法(https:/...

  • raft论文笔记

    raft论文笔记 使用目的:Raft 算法是可以用来替代 Paxos 算法的分布式一致性算法,是用来管理复制日志(...

网友评论

      本文标题:Raft (2)— 日志复制

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