目录
-
文件同步
-
何时开启同步线程
-
从Tracker Server获取到同组storage server集合后,就会为除了自己之外的其他同组storage server分别开启同步线程。
如果组内有三个Storage Server,那么每台Storage Server都应该开启两个独立同步线程
同步规则
1. 只在本组内的storage server之间进行同步;
2. 源头数据才需要同步,备份数据不需要再次同步,否则就构成环路了;
3. 同步采取push方式,即源服务器同步给同组其他服务器;
4. 上述第二条规则有个例外,就是新增加一台storage server时,由已有的一台storage server将已有的所有数据(包括源头数据和备份数据)同步给该新增服务器
-
同步流程
-
Binlog 目录结构
-
当Storaged server启动时会创建一个 base_path/data/sync
同步目录,该目录中的文件都是和同组内的其它 Storaged server之间的同步状态文件,如:
192.168.1.2_33450.mark
192.168.1.3_33450.mark
binlog.000
binlog.index
文件说明:
binlog.index 记录当前使用的binlog文件序号,如为10,则表示使用binlog.010
binlog.100 真实地binlog文件
192.168.1.2_33450.mark 同步状态文件,记录本机到192.168.1.2_33450的同步状态
-
-
-
Mark 文件
-
-
在Mark文件中内容:
binlog_index=0
binlog_offset=1334
need_sync_old=1
sync_old_done=1
until_timestamp=1457542256
scan_row_count=23
sync_row_count=11
文件说明:
binlog_index:对应于哪个binlog
binlog_offset:binlog.xxx的偏移量,可以直接这个偏移量获取下一行记录
need_sync_old:本