如果一个普通小网站的话,可以简单处理放在一个服务器上的一个文件目录即可。当项目以在线服务为主和多条服务同时在网站上并行运行时,这个时候就需要采用分布式架构,这样才能提高整个Web项目的网络传输执行效率,也同时降低了单一服务器的压力,将文件数据处理压力分散在不同服务器上。

这也是Web2.0以来的飞跃,将一个程序的任务分散运行在多个服务器上,将一个网站的服务器分散在不同服务器上。熟悉的社交网站、视频网站均是如此,这类以媒体分享社区,当日在线人数用户以千万上亿时,都是由密集的服务器机群做文件存储,用户在不停的读取文件上传文件,分布式架构是必然的解决方案,社交网站和视频网站的注册用户需要上传图片视频,因此相当多的磁盘空间来维持。这时的问题就来了,要花巨大的精力开发整套的文件管理系统,管理审核分散在不同服务器上密密麻麻用户上传的文件,这时候已经不可能用人工来管理这些文件了,几乎每一秒钟都有用户在读取、修改、删除、上传建立文件,同时还要满足用户对文件不同管理访问权限。通过数据库操作结合文件操作处理事件这正是分布式的带来的开发压力。