您的位置:首页 > 其它

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通知
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: