Fastdfs分布式文件系统的应用
Fastdfs分布式文件系统的应用 26 MARCH 2016 on fastdfs , 分布式文件系统 我们在实际项目中常常遇到这样的应用场景,用户需要上传图片,小视频或者其它文档,这些文件的大小一般在10M以内。它们很多,而且对用户来说可能还很重要,而且可能还要经常被访问,被下载,如何妥善保存这些文件就是一个需要解决的问题。 解决这个问题需要两点:一个是文件冗余备份,保证用户的文件不会丢失,另一个是高可用性,也就是说当文件服务器出现故障的时候,可以立刻让备份服务器为用户提供服务,使用户感觉不到有什么异常。 那么我们不妨分析下有哪几种解决方案: 1.粗放型: 直接作为blob字段存数据库里,利用数据库的容灾备份和HA来保障文件安全。其实这种方案是最安全的,但是显然数据库不是用来做这个的,因为太占数据库空间。不过由于其安全性最高,笔者在之前某个项目中曾经被要求这么干,因为保存的是客户的合同文件。但是类似社交网络的图片文件是没必要这么做的。 2.简约型: 直接存文件系统。如果有多台应用服务器同时提供文件上传服务,那么就准备一台文件服务器,分别挂载到所有应用服务器的指定路径下,实现多台应用服务器的文件写入,同时还可以配置读取静态文件更高效的nginx或者lighttpd来负责文件的读取。这样的好处是配置简单,管理方便(要不怎么叫简约型),不过缺点也很大,就是实现不了高可用性