fastdfs笔记_FastDFS笔记(示例代码)

FastDFS文件管理系统:分布式文件系统、网络文件系统、多机器多文件分享存储空间

FastDFS了解:

博客:https://www.cnblogs.com/Leo_wl/p/6731647.html#_label9

简介:功能:上传(存储)、下载(访问)、存储系统同步

解决问题:大容量、负载均衡

适合场景:CMS图片库

特点:客户端控制访问权限

决定因素:数据存储方式、数据读取速率、数据安全机制

系统架构:

跟踪服务器:项目经理、管理(调度存储服务器)者的角色、管理元信息少(内存存储、storage汇报信息)、单位cluster(cluster每个tracker对等)------>元信息

存储服务器:程序员、最底层劳动者、容量和备份数据、单位group(每个storage对等、互为副本)、group(项目组 优点:应用数据隔离、负载均衡、副本数定制 缺点:数据恢复只能依赖group里的其他副本慢!、单机容量小)

客户端client:客户、安装有Nginx的本地服务器

FastDFS存储策略:

卷即group、单位group(storage service的集合)、独立

整个系统文件容量 = 所有group容量++

整个存储空间不足-->动态添加group-->多台storage配置为一个group,增加容量

group里面的storage server不足时:增加程序员、并告诉他当前项目的进度(同步),程序员开始工作(上线)

FastDFS的流程:

Tracker Server Cluster中的每个Tracker是对等的:每个项目经理对等、都可以接收不同客户的需求

上传流程:Tracker接收客户端上传文件的请求、分配group-->分配storage server

客户端向storage发送些文件的请求,storage server 分配存储目录-->分配一块领域-->分配存储文件的名称

文件格式:组名/磁盘/目录/文件名

文件同步:说白了就是多线程copy  binlog(元信息日志)  类似于redis持久化同步操作

同步进度以时间戳记录、保证集群内所有server时钟一致

下载流程:客户端请求任意traker、tracker server存储元信息,可以根据文件名解析出group、大小、创建时间,选择一个storage来服务读请求

FastDFS方案:轻量级

部署复杂程度:simple

配置要求:common

文件系统接口:可移植

客户端:需要配套

目录结构:不能指定

产品级别:大中型

成熟:比较成熟

开发语言:C

移行成本:较高!!!

其他特点:不会对文件进行分块处理、mongodb GridFS就是一种分片处理的方式

服务器端的安装:

SpringBoot和FastDFS的整合:

https://blog.csdn.net/kokjuis/article/details/76614923

https://blog.csdn.net/qq741437836/article/details/74311802

步骤:

centeros的安装:

https://www.cnblogs.com/sunshinekevin/p/8085554.html

测试成功:

安装tracker服务器、client、storage service:

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/panda/Desktop/panda.jpg

返回结果:group1/M00/00/00/rBA3iVrbJUOAdEUSAAHOxFEuSI0192.jpg 存储成功过了

安装nginx:

下载:fastdfs-nginx-module模块

fastdfs-nginx-module可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。

tracker_server=172.16.55.137:22122

关闭命令:  service iptables stop

永久关闭防火墙:chkconfig iptables off

traker server

client server

storage server

成功实例:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/panda/Desktop/panda.jpg 返回:group1/M00/00/00/rBA3iVrbPZeAee3eAAHOxFEuSI0557.jpg

nginx安装fastDFS模块  最终结果:成功访问 http://172.16.55.137:8888/group1/M00/00/00/rBA3iVrbPZeAee3eAAHOxFEuSI0557.jpg

全部启动命令:

/etc/init.d/fdfs_trackerd start

/etc/init.d/fdfs_storaged start

/etc/init.d/nginx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值