FastDFS文件同步原理

本文介绍FastDFS文件系统中文件同步的实现原理,包括同步线程的启动时机、同步规则及流程,详细解释了Binlog目录结构及其包含的Mark文件与Binlog文件的作用,最后讨论了几种常见同步问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

文件同步

何时开启同步线程

同步规则

同步流程

Binlog 目录结构

 Mark 文件

Binlog 文件

同步过程

文件同步时间戳

问题


  1. 文件同步

    1. 何时开启同步线程

从Tracker Server获取到同组storage server集合后,就会为除了自己之外的其他同组storage server分别开启同步线程。

如果组内有三个Storage Server,那么每台Storage Server都应该开启两个独立同步线程

同步规则

1. 只在本组内的storage server之间进行同步;

2. 源头数据才需要同步,备份数据不需要再次同步,否则就构成环路了;

3. 同步采取push方式,即源服务器同步给同组其他服务器;

4. 上述第二条规则有个例外,就是新增加一台storage server时,由已有的一台storage server将已有的所有数据(包括源头数据和备份数据)同步给该新增服务器

  1. 同步流程

    1. 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的同步状态

      1.  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_offsetbinlog.xxx的偏移量,可以直接这个偏移量获取下一行记录
need_sync_old:本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xianghan收藏册

极简精品作,一分也是一份鼓励哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值