请教关于同步的问题
在tracker文件夹中,tracker_mem.c中有tracker_locate_storage_sync_server(FDFSStorageSync *pStorageSyncs, const int nStorageSyncCount, const bool bLoadFromFile)函数,请问这个函数具体做什么,我有点模糊。为什么设计结构体FDFSStorageSync,里面的属性为什么设计是那样?在这个文件系统,有多处同步,我一直很迷糊。望指教,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
看函数名基本能猜出个大概:在storage server列表中定位同步源服务器(source storage server)。结构体FDFSStorageSync用于记录同步到该storage server的源服务器。
因为你有多处提及同步,我想知道这里的同步是指的是什么?还有在某些函数中用到同步时戳,这个同步时戳怎么使用的?
[ 本帖最后由 jimsong 于 2009-4-30 09:58 编辑 ]
数据同步啊。一个组有2台以上服务器时,数据先写入其中的一台,然后由该服务器将数据同步其他服务器。同步时间戳就是同步所有数据的截止时间戳,当在一个组中新增服务器时,需要向新服务器同步以前的所有数据。
你说由某个服务器向其它服务器进行数据同步,为什么不让tracker直接同步读,同步写呢?同时,既然同组的存储服务器是相同的,那在选择存储服务器进行写文件时,为什么用轮转或指定第一个服务器策略呢?
[ 本帖最后由 jimsong 于 2009-4-30 14:19 编辑 ]