Zookeeper

Zookeeper

Zab算法协议

  • 简化的Paxos算法,多台服务器通过内部投票表决机制决定一个数据的更新与写入。

  • 恢复模式:选出leader。

  • 广播模式:同步保证leader和follower的状态相同。

选举机制

  • 第一轮投票默认投给自己。
  • 编号越大的server选择权重越大。
  • 投票数大于半数则胜出。

过半机制

  • 一半以上的server同意proposal才能成功。
  • 保证了数据的一致性。

2pc事务提交

  • 客户端发起写请求。
  • 如果是follower节点接收到则返回给leader。
  • leader将请求转化为proposal广播分发给follower。
  • 超过一半的follower执行成功,leader再次发送commit,要求follower提交上一个proposal。
  • leader节点将数据同步给observer节点。
  • follower节点将数据返回给客户端。

如何保持数据一致?

  • Follower通过队列和zxid等顺序保证请求的处理顺序。
上一篇:PointRCNN


下一篇:http delete 服务端拿不到body