FastDFS 分布式存储与 yo2cache 的结合

FastDFS 是由 Yahoo 的中国工程师开发的一个开源的轻量级分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

  FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。且跟踪器(tracker)可使用多台服务器进行均衡,这样就可以避免单点故障的发生。

  使用 FastDFS 分布式文件系统并不能像常规的文件操作一样,需要通过 FastDFS 的 API 把文件上传到分布式文件系统中。同样道理,读取文件也是需要通过 API 接口把文件下载回来。对于没接触过类似文件系统的,可能会感到有些茫然了 _-!! 不会每个读取都要经过 API 吧,这样开发和性能上会不会出现问题?

  其实 FastDFS 分布式文件系统的使用并不复杂,你只需要知道她是一个帮你把文件分发到多个服务器进行存储就Ok了。我们也就是需要这个功能,至于读取的操作我们可以交由 Web Server (yo2cache) 进行处理。

  这是一个简单的应用示意图:

FastDFS & yo2cache

  用户上传文件,经过 PHP 使用 FastDFS 的 API,把文件分发到多个文件服务器上。

  用户下载文件,经过 yo2cache 使用 FastDFS 的 API,到文件所在的文件服务器获取文件,并返回给用户。其中 yo2cache  Web 服务器可做 CDN 均衡,并设置节点本地缓存,起到访问加速作用 :)