目录
- 1 背景
- 1.1 为什么需要分布式文件服务
- 1.1.1 单机时代
- 1.1.2 独立文件服务器
- 1.1.3 分布式文件系统
- 1.2 什么是FastDFS
- 1.1 为什么需要分布式文件服务
- 2 系统架构
- 2.1 Tracker集群
- 2.2 Storage集群
- 2.3 Storage状态收集
- 2.4 FastDFS的上传过程
- 2.5 FastDFS的文件同步
- 2.6 FastDFS的文件下载
- 优点:这样做比较便利,项目直接引用就行,实现起来也简单,无需任何复杂技术 , 保存数据库记录和访问起来也很方便 。
- 缺点:如果只是后台系统的使用一般也不会有什么问题,但是作为一个前端网站使用的话就会存在弊端 。一方面,文件和代码耦合在一起,文件越多存放越混乱;另一方面 , 如果流量比较大 , 静态文件访问会占据一定的资源,影响正常业务进行,不利于网站快速发展 。
- 优点:图片访问是很消耗服务器资源的(因为会涉及到操作系统的上下文切换和磁盘I/O操作),分离出来后,Web/App服务器可以更专注发挥动态处理的能力;独立存储,更方便做扩容、容灾和数据迁移;方便做图片访问请求的负载均衡,方便应用各种缓存策略(HTTP Header、Proxy Cache等),也更加方便迁移到CDN 。
- 缺点:单机存在性能瓶颈,容灾、垂直扩展性稍差
业务继续发展,单台服务器存储和响应也很快到达了瓶颈,新的业务需要文件访问具有高响应性、高可用性来支持系统 。分布式文件系统,一般分为三块内容来配合,服务的存储、访问的仲裁系统,文件存储系统,文件的容灾系统来构成,仲裁系统相当于文件服务器的大脑,根据一定的算法来决定文件存储的位置 , 文件存储系统负责保存文件,容灾系统负责文件系统和自己的相互备份 。
- 优点:扩展能力: 毫无疑问,扩展能力是一个分布式文件系统最重要的特点;高可用性: 在分布式文件系统中,高可用性包含两层,一是整个文件系统的可用性,二是数据的完整和一致性;弹性存储: 可以根据业务需要灵活地增加或缩减数据存储以及增删存储池中的资源,而不需要中断系统运行
- 缺点:系统复杂度稍高,需要更多服务器
FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS , 不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适 。
FastDFS特性:
- 文件不分块存储,上传的文件和OS文件系统中的文件一一对应
- 支持相同内容的文件只保存一份,节约磁盘空间
- 下载文件支持HTTP协议 , 可以使用内置Web Server,也可以和其他Web Server配合使用
- 支持在线扩容
- 支持主从文件
推荐阅读
- 黑猫奇闻社第一章怎么过
- 黑猫奇闻社第二章怎么过
- ICPC 第 45 届国际大学生程序设计竞赛亚洲区域赛(济南)-L Bit Sequence
- 十大奢侈品牌围巾 阿玛尼仅第七,第一是上层社会的宠儿
- 三国梗传第39关吕布战曹操怎么通关
- 剑与远征8月诗社竞答第六天答案是什么
- 轻功是怎样练成的(世界轻功第一人)
- 赛尔号谱尼第二道封印怎么打(赛尔号谱尼被封印)
- 赛尔号谱尼超进化第五关光明之愿怎么打(赛尔号谱尼超进化第五封印怎么打)
- 魔镜物语命运棋局第五章怎么通关