zookeeper同步时间轴
2021-01-13 20:21:37 0 举报
zookeeper同步的时间线
作者其他创作
大纲/内容
循环接收和处理follower发送的消息
learnerHandler
发送newLeader的消息(其中所带的zxid为新的epoch生成的zxid)
等待zookeeper启动成功
等待EpochAck
发送newLeader的确认消息
Follower
发送LeaderInfo(其中数据时newEpoch生成的zxid
时间线
接收FollowerInfo
发送对新epoch的确认消息
leader
启动端口连接线程
对于snapshot同步的对当前的日志进行snapshot
加载db
更新当前的epoch为leader的epoch
确认同步方式,并将同步数据加入队列
变更当前的leader的epoch为选定的epoch
等待LeaderInfo
发送同步数据
启动zookeeper(此时会将dataTree的lastProceeedZxid更新为zookeeper的hzxid)
等待uptodate消息
接收和处理事务消息到newLeader消息
循环接收和处理leader发送的消息
发送FollowerInfo(中间数据为accptedEpoch)
循环ping连接上follower
将当前的learnerHandler加入leader的就绪列表中
发送EpochAck(其中数据为follower的最近的zxid)
等待newLeader的ack
连接leader
启动zookeeper
发送uptodate消息
0 条评论
下一页