zookeeper集群写数据原理
文档
- linux安装java -centos安装java -linux配置java环境变量
- zookeeper单机安装
- zookeeper集群安装
- zookeeper客户端命令行操作、节点类型及监听器
- zookeeper集群写数据原理
- java操作zookeeper
客户端将写请求直接发送给Leader节点
- [
write
]:客户端向Leader节点发送写请求,Leader进行写操作 - [
write
]:Leader节点将写请求通知给Follower节点,Follower节点进行写操作 - [
ack
]:Follower节点写操作完成后,对Leader节点进行ack应答 - [
ack
]:对Leader节点进行ack应答的Follower节点加上Leader节点本身,超过集群半数,Leader节点即可向客户端进行ack应答(zookeeper原则,超过半数即应答) - [
write
]:Leader节点继续将写请求通知给其它未通知的Follower节点,Follower节点进行写操作 - [
ack
]:Follower节点写操作完成后,对Leader节点进行ack应答
客户端将写请求发送给Follower节点
- [
write
]:客户端向Follower节点发送写请求,Follower无法直接进行写操作 - [
write
]:Follower节点将写请求通知给Leader节点 - [
write
]:Leader节点将写请求通知给Follower节点,Follower节点进行写操作(与直接发送给Leader节点逻辑相同) - [
ack
]:Follower节点写操作完成后,对Leader节点进行ack应答(与直接发送给Leader节点逻辑相同) - [
ack
]:对Leader节点进行ack应答的Follower节点加上Leader节点本身,超过集群半数,Leader节点即可向最初的Follower节点进行ack应答(zookeeper原则,超过半数即应答) - [
ack
]:由最初的Follower节点向客户端进行ack应答 - [
write
]:Leader节点继续将写请求通知给其它未通知的Follower节点(与直接发送给Leader节点逻辑相同) - [
ack
]:Follower节点写操作完成后,对Leader节点进行ack应答(与直接发送给Leader节点逻辑相同)
参考资料
- 尚硅谷