V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Miiiz
V2EX  ›  ZooKeeper

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

  •  
  •   Miiiz · Dec 7, 2018 · 6089 views
    This topic created in 2698 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   ·   5833 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 897ms · UTC 01:50 · PVG 09:50 · LAX 18:50 · JFK 21:50
    ♥ Do have faith in what you're doing.