李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
01.FastDFS简介
Leefs
2022-03-01 PM
883℃
0条
[TOC] ### 一、文件系统发展 #### 1.1 单机时代 文件和代码存放在一起 **优点** + 文件访问比较便利; + 项目直接引用文件; + 实现起来简单; + 无需复杂技术; + 保存、访问文件都很方便; **缺点** - 文件和代码耦合在一起,文件越多存放越混乱; - 如果流量比较大,静态文件访问会占据一定的资源(操作系统上下文切换、磁盘I/O),影响正常业务进行,不利于网站快速发展; #### 1.2 **独立文件服务器** 文件服务器和代码服务器分离; **优点** - 应用服务器可以更专注发挥动态处理的能力; - 独立存储,更方便做扩容、容灾和数据迁移; - 方便做资源请求的负载均衡; - 方便应用缓存策略(HTTP Header、Proxy Cache等); - 方便迁移到 CDN; **缺点** - 单机存在性能瓶颈; - 容灾、垂直扩展性稍差 #### 1.3 **分布式文件系统** **优点** + 扩展能力强; + 高可用性: 高可用性包含两层,一是整个文件系统的可用性,二是数据的完整和一致性; + 弹性存储: 可以根据业务需要灵活地增加或缩减数据存储、增删存储池中的资源,不需要中断系统运行。 **缺点** + 系统复杂度稍高,需要更多服务器。 ### 二、分布式存储解决方案对比 ![01.FastDFS简介01.png](https://lilinchao.com/usr/uploads/2022/03/775515983.png) ### 三、FastDFS简介 + FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用的文件系统,只能通过专有API访问; + 它的主要功能包括:**文件存储,文件同步和文件访问(文件上传、文件下载、文件删除),以及高容量和负载平衡**。 + 主要解决了海量数据存储问题,特别适合以中小文件(建议范围:**4KB < file_size <500MB**)为载体的在线服务。 **FastDFS开源地址**:https://github.com/happyfish100 ### 四、FastDFS特性 - 分组存储(同一组数据内容相同),采用对等结构,不存在单点; - 文件不分块存储,上传的文件和 OS 文件系统中的文件一一对应; - 文件 ID 由 FastDFS 生成,作为文件访问凭证,FastDFS 不需要传统的命名服务器; - 和流行的 web server 无缝衔接,FastDFS 已提供 apache 和 nginx 扩展模块; - 中、小文件均可以很好支持,支持海量小文件存储; - 支持多块磁盘,支持单盘数据恢复; - 支持相同内容的文件只保存一份,节约磁盘空间; - 支持在线扩容、主从文件; - 存储服务器上可以保存文件属性(meta-data),V2.0 网络通信采用libevent,支持大并发访问,整体性能更好; - 下载文件支持多线程方式,支持断点续传; ### 五、FastDFS构成 ![01.FastDFS简介02.png](https://lilinchao.com/usr/uploads/2022/03/3734317523.png) FastDFS 由客户端(Client)、 跟踪服务器(Tracker Server)和存储服务器(Storage Server)构成; **客户端(client)** 客户端作为业务请求的发起方,使用 TCP/IP 协议与跟踪器服务器或存储节点进行数据交互; **跟踪器(tracker)** 跟踪器的作用是负载均衡和调度,在文件上传时根据一些策略找到存储节点,提供文件上传服务,跟踪器在访问上起负载均衡的作用,可以随时增加或下线而不会影响线上服务; **存储节点(storage)** 存储节点作用是存储文件,客户端上传的文件最终存储在Storage服务器上,存储节点没有实现自己的文件系统,而是利用操作系统的文件系统来管理文件,存储节点中的服务器也可以随时增加、下线而不会影响线上服务; *附参考原文链接:* *http://lxt.cool/pages/da78ea*
标签:
FastDFS
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/1924.html
上一篇
09.Table API和Flink SQL之表的时间特性
下一篇
02.FastDFS操作命令
取消回复
评论啦~
提交评论
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
43
标签云
机器学习
排序
容器深入研究
FileBeat
DataX
Spring
Http
高并发
Netty
前端
数学
设计模式
随笔
持有对象
HDFS
Hive
序列化和反序列化
国产数据库改造
字符串
nginx
Livy
NIO
MyBatis-Plus
数据结构和算法
锁
Golang基础
Map
Java编程思想
Git
Ubuntu
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞