Katta如何使用Zookeeper-数据更新
2011-09-22 13:37
405 查看
当Client发起更新数据的请求后,ZkServer会随后发起多个处理过程:
1. Propose过程,发起会签请求,即试图获取各个Follower的同意,以便进行数据更新
2. ACK过程,即Follower发出同意响应
3. Commit过程,Leader向Follower发出数据更新的通知
具体如下图:
值得注意的地方:
1. ProposalRequestProcessor向CommitProcessor发出的Process调用,这个调用会一直等待,直到Leader通知可以进行数据更新
2. ProposalRequestProcessor向SyncRequestProcessor发出的Process调用,这个调用会发出Leader本身的ACK响应
3. Leader的ProcessAck方法会记录各个Follower和Leader的ACK响应,直到达到多数要求【简单多数,即ACK响应数要多于Server节点的半数】,才会发出Commit通知
1. Propose过程,发起会签请求,即试图获取各个Follower的同意,以便进行数据更新
2. ACK过程,即Follower发出同意响应
3. Commit过程,Leader向Follower发出数据更新的通知
具体如下图:
值得注意的地方:
1. ProposalRequestProcessor向CommitProcessor发出的Process调用,这个调用会一直等待,直到Leader通知可以进行数据更新
2. ProposalRequestProcessor向SyncRequestProcessor发出的Process调用,这个调用会发出Leader本身的ACK响应
3. Leader的ProcessAck方法会记录各个Follower和Leader的ACK响应,直到达到多数要求【简单多数,即ACK响应数要多于Server节点的半数】,才会发出Commit通知
相关文章推荐
- [zz]Katta如何使用Zookeeper-Client连接
- Katta如何使用Zookeeper-Client连接
- Katta如何使用Zookeeper-ZkServer的节点
- Katta如何使用Zookeeper-Client连接
- Katta如何使用Zookeeper-Server节点的通讯
- Katta如何使用Zookeeper-数据更新2
- Katta如何使用Zookeeper-数据更新3
- 如何使用客户端对ZooKeeper进行操作。
- 如何使用Docker安装Redis\Zookeeper\Mysql
- dubbo-admin如何在zookeeper下面使用
- zookeeper学习-2(如何使用zookeeper进行配置管理-java版本)
- zookeeper学习-3(如何使用zookeeper进行集群管理-java版本)
- Zookeeper系列三:Zookeeper客户端的使用(Zookeeper原生API如何进行调用、ZKClient、Curator)
- 如何使用hbase自带的zookeeper
- Java 演示:如何使用Zookeeper 集群例子
- Zookeeper 进阶之——Zookeeper编程示例(如何使用Zookeeper实现屏障Barriers和队列Queues)
- XML基础知识学习一(如何使用XML?)
- 如何在linux下使用c语言操作临时文件
- 在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
- 学习如何使用detours来HOOK API