Miiiz
V2EX  ›  ZooKeeper

zookeeper 关于事务提交的一点疑惑

  •  
  •   Miiiz · Dec 7, 2018 · 6165 views
    This topic created in 2722 days ago, the information mentioned may be changed or developed.

    当一个事务请求得到过半 follower 的 ACK 响应时,leader 会下发 commit 消息给 learner,leader 自身也会 commit,然后其实就是各个角色进入 CommitProcessor-》 FinalRequestProcessor,然后去执行事务刷新到内存,这个操作的话,肯定会存在部分失败,部分失败,那 leader 失败或者 learner 失败了,就会出现数据不一致的情况,这该怎么办?希望有大佬给点提示,感激不尽

    3 replies    2022-05-27 22:58:50 +08:00
    Miiiz
        1
    Miiiz  
    OP
       Dec 7, 2018
    有没有大佬解答一下呢
    pifuant
        2
    pifuant  
       Dec 7, 2018
    建议先熟悉下 共识算法 paxos

    简单来说, 一个操作, 只要被 majority 接受了, 就表示成功了, 这时只要保证 majority 存活, 无论 leader 还是 follower 挂了, 都不会影响结果
    JasonLaw
        3
    JasonLaw  
       May 27, 2022
    建议看一下
    &list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB&index=6 和
    &list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB&index=7 ,还有 https://raft.github.io/raft.pdf
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   939 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 20:04 · PVG 04:04 · LAX 13:04 · JFK 16:04
    ♥ Do have faith in what you're doing.