服务重启
文件队列在数据写入的时候 ,是写到内核就认为成功了,由内核决定什么时候磁盘到磁盘
由内核决定什么时候磁盘,这样应用层就保证不了数据绝对正确
所以 Bifrost 启动的时候,会进行验证一次数据是否正确
Bifrost 在每次将数据写到文件队列的时候 ,都会进行标记一次进入到当前这个同步的最后位点信息,这个位点信息 是每5秒写到leveldb中去, 请参考 位点控制管理
每次启动,都将从文件队列中读取最后一条数据 和 当前这个同步配置最后位点 进行对比,如果一致的情况下,则认为当前这个文件队列的数据是可靠的,那这份数据,就继续使用
否则将放弃文件队列中的数据,通过 位点控制管理 从 MySQL Binlog 中重新解析