美文网首页
sofa-jraft线性一致读

sofa-jraft线性一致读

作者: zhangsean | 来源:发表于2020-02-04 17:52 被阅读0次

    raft读

    存在网络开销 + 磁盘开销

    readIndex

    leader节点

    1. 将自己当前的log的commitIndex保存为ReadIndex
    2. 向节点发心跳,半数以上回应
    3. 等待状态执行applyIndex超过ReadIndex
    4. 执行Read请求返回

    follower

    1. 向leader请求最新的ReadIndex
    2. <font color=red>leader执行1、2、3过程</font>,然后返回ReadIndex给follwer
    3. follower等待applyIndex超过ReadIndex
    4. 执行Read请求返回

    存在网络开销

    租约

    1. heat beat前记录start时间,则任期 Start+Election Timeout/Clock Drift Bound 之内, 该时间内选择一个较小的lease租约
    2. 租约时间内可省略readIndex中的heatbeat (2)
    3. leader等待自己的状态机执行applyIndex超过ReadIndex可以安全提供线性一致读

    相关文章

      网友评论

          本文标题:sofa-jraft线性一致读

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