binlogproducter运行流程
2017-10-26 10:14:22 0 举报
MBR启动流程图
作者其他创作
大纲/内容
失败
是
setRun节点 status=0?
否
binlogDealThread start
将binlog解析为json,写入Kafka
检测setrun状态,自己是否为第一备机,是否需要继续向kafka同步数据
每秒(间隔满一秒才检测)检测是否延迟过大且未切换到另一台备机,
成功
循环处理,解析发送binlog流程
初始化binlogDealThread,即配置文件路径,队列topic等
结束
获取最后一条消息的GTID和binlog偏移量
清理补偿信息
利用binlog相关信息初始化BinlogMgn,准备处理binlog
创建BinlogWatch,注册多个监控函数,处理setrun信息的变更
以守护进程模式运行,创建程序锁
开始
是,sleep后继续消费
自己是不是结构信息实例
循环解析处理binlog流程
上报zk本机进行binlog的生产
已经消费到最新?
上报本机进行binlog生产
join线程,死循环,等待退出信号。
对比gtid和eventid,验证消息是否是新消息
将获取到的Gtid和偏移量转化为本地binlog文件位置和偏移量,并存储到statfile
binlogMgn获取一条binlog,处理、解析
自己是第一备机且需要向kafka同步数据?
运行binlogDealThread线程
进入binlog的补偿流程
初始化zkClient和kafkaZkClient
校验binlog是否连续
当前是否需要本机进行binlog的补偿
是否有实例正在进行补偿
发起主机补偿流程(在zk中写入主机补偿信息)。
否,说明该文件binlog已结束或读取异常,方法返回继续执行。
解析,校验conf文件中的各种属性,初始化日志信息
收藏
0 条评论
下一页