Katta如何使用Zookeeper-数据更新2
2011-09-22 13:38
459 查看
当Client连接到Follower,并发出数据更新的请求时:
1. Follower的CommitProcessor将阻塞Request,直到Leader发出Commit通知
2. Follower把数据更新的request转发给Leader,Leader然后发起数据更新同步的过程
具体如下图:
注意:
Leader和Follower判断哪个最早接收到的数据更新请求,是根据Request属性中的ServerCnxn。
1. 当NIOServerCnxn接收到来自Client的请求后,就会在Request中设置本身的实例
2. 在ZkServer的当前实例中,Request的ServerCnxn是不变的
3. Follower发给Leader的请求中,ServerCnxn是null
4. Leader和Follower的FinalRequestProcessor发出响应时,判断ServerCnxn是否null:
1. Follower的CommitProcessor将阻塞Request,直到Leader发出Commit通知
2. Follower把数据更新的request转发给Leader,Leader然后发起数据更新同步的过程
具体如下图:
注意:
Leader和Follower判断哪个最早接收到的数据更新请求,是根据Request属性中的ServerCnxn。
1. 当NIOServerCnxn接收到来自Client的请求后,就会在Request中设置本身的实例
2. 在ZkServer的当前实例中,Request的ServerCnxn是不变的
3. Follower发给Leader的请求中,ServerCnxn是null
4. Leader和Follower的FinalRequestProcessor发出响应时,判断ServerCnxn是否null:
实例类型 | ServerCnxn == null | |
true | false | |
Leader | Follower发出,不发响应 | Leader接收到的,需要发出响应 |
Follower | Leader发出,不发响应 | Follower接收到的,需要发出响应 |
相关文章推荐
- Katta如何使用Zookeeper-Client连接
- Katta如何使用Zookeeper-ZkServer的节点
- Katta如何使用Zookeeper-Client连接
- Katta如何使用Zookeeper-Server节点的通讯
- Katta如何使用Zookeeper-数据更新
- Katta如何使用Zookeeper-数据更新3
- [zz]Katta如何使用Zookeeper-Client连接
- 如何使用hbase自带的zookeeper
- 如何使用Docker安装Redis\Zookeeper\Mysql
- Zookeeper 进阶之——Zookeeper编程示例(如何使用Zookeeper实现屏障Barriers和队列Queues)
- Zookeeper系列三:Zookeeper客户端的使用(Zookeeper原生API如何进行调用、ZKClient、Curator)
- dubbo-admin如何在zookeeper下面使用
- zookeeper学习-2(如何使用zookeeper进行配置管理-java版本)
- Java 演示:如何使用Zookeeper 集群例子
- 如何使用客户端对ZooKeeper进行操作。
- zookeeper学习-3(如何使用zookeeper进行集群管理-java版本)
- XML基础知识学习二(如何使用XML?)
- YC++中如何使用COM接口
- 如何使用PHP发送邮件
- iphone ios 如何使用gcd,block