我刚刚读到这个https://en.wikipedia.org/wiki/Clustered_file_system#Distributed_file_systems
DFS的定义对我来说似乎正好描述了Dropbox,但它不在示例列表中,当然,如果我认为它是Dropbox的话,它也会是。
那么Dropbox有什么不同,它不属于这一类呢?
通常,当谈到分布式文件系统时,您会期望Dropbox不支持的属性。例如,如果你和我共享一个文件夹,我可以在其中创建一个名为"work.txt"的文件,你也可以在中创建一个文件"works.txt",如果我们做得足够快(或者当我们不与dropbox同步时(,我们会有同一文件的冲突副本。
类似的例子是,如果我们同时编辑同一个文件,我们会有冲突的副本,这是分布式文件系统应该防止的。在您引用的链接中,这被称为"并发透明性;所有客户端都有相同的文件系统状态视图"。
属性dropbox不支持的另一个例子是:如果我的计算机出现故障(例如,我的硬盘驱动器损坏(,我可能会丢失未上传到dropbox的数据。有一个小窗口,我认为我的数据被写入了本地磁盘,但如果我的计算机出现故障,我就会丢失这些数据。
最后,我不确定Dropbox将如何使用文件锁。例如,MS office会锁定.doc文件,以确保没有其他人同时处理这些文件。我认为Dropbox不支持这个功能。
我写了一篇关于实现分布式文件系统的一些复杂性的博客文章,您可能会发现它也很有用。