Docker

软件篇-分布式文件系统(一) - FastDFS介绍与普通安装

2020-04-30  本文已影响0人  秃头猿猿

分布式文件系统

1.分布式文件系统是什么

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就像使用本地驱动器一样

上述来自百度百科的介绍。通俗来说就是:

2.分布式文件系统类型

分布式文件系统类型有很多,主流的几种类型如下:

3.FastDFS

3.1 介绍

FastDFS是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。百度百科的介绍如下:

image-20200429100330476.png

简单总结为,其特点如下:

特别适合一些大容量存储的系统。例如相册网站,视频网站等等。当然除了FastDFS例外还有一些其他的分布式系统也能存储。例如上面介绍的那些分布式文件系统。还是有HDFS(Hadoop),TFS(淘宝)等等

3.2 架构图

image-20200429100935217.png

解释:

3.3 安装(普通安装 单机版)

4.上传文件

image-20200429195757269.png

5.访问文件

5.1 为什么需要安装Nginx

通过上面的操作我们已经可以去上传文件了,但是文件上传后我们没有办法通过浏览器去进行访问。因为在FastDFS 4.x 版本以后移除了 http支持。即使没有移除也有以下缺陷:
(借鉴:https://www.php.cn/nginx/421962.html)

在使用FastDFS部署一个分布式文件系统的时候,通过FastDFS的客户端API来进行文件的上传、下载、删除等操作。

同时通过FastDFS的HTTP服务器来提供HTTP服务。但是FastDFS的HTTP服务较为简单,无法提供负载均衡等高性能的服务,所以FastDFS的开发者—淘宝的架构师余庆先生,为我们提供了Nginx上使用的FastDFS模块(也可以叫FastDFS的Nginx模块)。

FastDFS通过Tracker服务器,将文件放在Storage服务器存储,但是同组之间的服务器需要复制文件,有延迟的问题.假设Tracker服务器将文件上传到了storage1。

文件ID已经返回客户端,这时,后台会将这个文件复制到storage2,如果复制没有完成,客户端就用这个ID在192.168.1.30取文件,肯定会出现错误。

所以我们可以采用Nginx的反向代理帮助我们去进行进行图片的访问。余庆先生提供了一个Nginx的FastDFS模块。我们只需要将这个模块集成到Nginx里面去,通过Nginx的反向代理,这样我们就能访问了。

5.2 安装Nginx

5.2.1 fastdfs-nginx-module 安装

5.2.2 Nginx安装

tar -zxvf nginx-1.10.0.tar.gz

在编译时报错,我们只需要修改obj/MakeFile就可以了。先找到该文件

image-20200430095034940.png

编辑该文件

image-20200430095213854.png

将图中选中部分删除,重新make

image-20200430095311786.png
上一篇下一篇

猜你喜欢

热点阅读