FastDFS分布式存储
- 场景介绍
- 优点
- 角色概述
1、场景
FastDFS:是一个开源的轻量级分布式文件系统,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合中小文件(建议范围:4KB< file_size <500MB),对以文件为载体的在线服务,如相册网站、视频网站等。
·
FastDFS是为互联网应用量身定做的分布式文件系统,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标。和现有的类Google
·
FS分布式文件系统相比,FastDFS的架构和设计理念有其独到之处,主要体现在轻量级、分组方式和对等结构三个方面。
二、优点
(1)可以存放海量的数据、提供数据冗余、加快客户端读写速度
(2)是一个开源轻量级分布式文件系统
(3)功能文件存储、文件同步、文件访问、上传、下载
(4)适合于中小文件使用、范围4KB < file_size <500MB)
(5)负载均衡、线性扩容机制、高性能
三、FastDFS存储架构角色概述
1、tracker server :跟踪服务器,用来调度客户端请求。
功能:
(1)客户端先访问tracker server服务器、会告诉客户端要求请求数据的地方。能帮助客户端快速查找数据
(2)存放元数据(类似mysql索引),能快速查找和定位。因为本身的集群是存放海量数据。
(3)本身的元数据是不需要担心数据安全的,因为元数据是存储服务器主动提交的。不需要持久化
2、storage server:存储服务器,用来存储文件和文件属性
功能:
(1)主要存储和备份数据的,并提供容量。
(2)存储的数据以group为单位,每个group内可以有多台存储服务器,每个组内的存储服务器数据互为备份、每个不同的group组,具有隔离性。
(3)会主动生成信息,汇报给tracker服务器
3、client:客户端 业务请求方,通过专用接口基于Tcp协议与tracker 和 storage 进行交互
功能:
(1)主要上传和下载数据的
(2)是我们项目部署的服务器,也就是客户端需要访问本身才能操作使用
(3)每个客户端需要安装nginx,客户端也可以结合keepalived使用,实现高可用
客户端上传文件后存储与服务器将文件ID返回给客户端,此文件ID用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。