每个storage写文件后,同时会写一份binlog,binlog里不包含文件数据,只包含文件名等元信息,这份binlog用于后台同步,storage会记录向group内其他storage同步的进度,以便重启后能接上次的进度继续同步;进度以时间戳的方式进行记录,所以最好能保证集群内所有server的时钟保持同步 。
storage的同步进度会作为元数据的一部分汇报到tracker上,tracke在选择读storage的时候会以同步进度作为参考 。
2.6 FastDFS的文件下载客户端uploadfile成功后,会拿到一个storage生成的文件名,接下来客户端根据这个文件名即可访问到该文件 。

文章插图
跟upload file一样,在downloadfile时客户端可以选择任意tracker server 。tracker发送download请求给某个tracker,必须带上文件名信息,tracke从文件名中解析出文件的group、大小、创建时间等信息,然后为该请求选择一个storage用来服务读请求 。tracker根据请求的文件路径即文件ID 来快速定义文件 。
比如请求下边的文件:
group1/M00/02/44/Swtdssdsdfsdf.txt- 通过组名tracker能够很快的定位到客户端需要访问的存储服务器组是group1,并选择合适的存储服务器提供客户端访问 。
- 存储服务器根据“文件存储虚拟磁盘路径”和“数据文件两级目录”可以很快定位到文件所在目录,并根据文件名找到客户端需要访问的文件 。

文章插图
经验总结扩展阅读
- 韭菜花怎么清洗算干净
- 月饼不放枧水会怎样
- 结婚纪念日名称
- 2023年春节是几九第几天 今年过年会不会下雪
- 黑猫奇闻社第一章怎么过
- 黑猫奇闻社第二章怎么过
- 螃蟹当天不吃怎么放到第二天
- 砂锅第一次使用怎样开锅
- 世界上第一个双奥之城是哪里
- 火影忍者向日葵打鸣人第几集?
