新增tracker服务器数据同步问题
由于storage上配置了所有的tracker,storage和tracker之间的通信是由 storage server 主动发起的,storage为每个tracker启动一个线程进行通信
在通信过程中,若发现该tracker返回的本组storage列表比本机记录少,就会将该tracker上没有的storage同步给该 tracker,这样的机制使得tracker之间是对等关系,数据保持一致
新增storage服务器数据同步问题
若新增storage或者其状态发生变化,tracker都会将storage列表同步给该组内所有storage
以新增storage为例,因为新加入的storage会主动连接tracker,tracker发现有新的storage加入,就会将该组内所有的storage返回给新加入的storage,并重新将该组的storage列表返回给该组内的其他storage
组内storage数据同步问题
组内storage之间是对等的,文件上传、删除等操作可以在组内任意一台storage上进行。文件同步只能在同组内的storage之间进行,采用push方式, 即源服务器同步到目标服务器
A. 只在同组内的storage server之间进行同步
B. 源数据才需要同步,备份数据不再同步
C. 特例:新增storage server时,由其中一台将已有所有数据(包括源数据和备份数据)同步到新增服务器
storage server的7种状态,通过命令fdfs_monitor /etc/fdfs/client.conf可以查看ip_addr选项显示storage server当前状态
INIT:初始化,尚未得到同步已有数据的源服务器
WAIT_SYNC:等待同步,已得到同步已有数据的源服务器
SYNCING:同步中
DELETED:已删除,该服务器从本组中摘除
OFFLINE:离线
ONLINE:在线,尚不能提供服务
ACTIVE:在线,可以提供服务
例如,现在在组内增加storage serverA状态变化过程如下:
①storage server A主动连接tracker,此时tracker将storage serverA状态设置为INIT
②storage server A向tracker询问追加同步的源服务器和追加同步截止时间点(当前时间),若组内只有storage server A或者上传文件数为0,则告诉新机器不需要数据同步,storage server A状态设置为
纯干货分享---不懂的快来,五分钟带你了解FastDFS-03---fastdfs的工作原理
最新推荐文章于 2024-04-28 03:19:33 发布