记录对 分布式文件系统 FastDFS 的学习
FastDFS 是由淘宝开发平台部资深架构师余庆开发,是一个轻量级、高性能的开源分布式文件系统( Distributed File System ),能对文件进行管理;
功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,其解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等。
主要原理以及介绍参考:
https://github.com/tobato/FastDFS_Client/wiki
https://segmentfault.com/a/1190000019341157
https://segmentfault.com/a/1190000017254013
安装测试参考:
https://segmentfault.com/a/1190000020992349
https://segmentfault.com/a/1190000007580971
https://segmentfault.com/a/1190000017254013
自己理解总结:文绉绉的理解记不住,那就简单粗暴地简单理解吧,好比我要停车:
客户端(client)=====> 我自己就是客户端,我要到停车场停车(例如上传文件)
跟踪器(tracker)====> 相当于入口处的取卡机器(简称A系统),它帮你查找空闲的车位,给你车位信息(storage 的IP和端口),接着你(client)拿到信息之后去停车场里找对应的车位停好车,然后自己记录好这个位置(好比文件系统的组别和路径,简称全路径),方便你回来取车.
存储节点(storage)就是车位装置了,这个装置自动提供信息到A系统,这样A系统才能检测到每个位置是否空闲 ,(主要工作自动与tracher联系,提供信息,接着就是保存文件,然后提供保存路径)
相关论坛 http://bbs.chinaunix.net/thread-1920470-1-1.html
http://bbs.chinaunix.net/forum-240-2.html
傻瓜式使用步骤:
参考 https://github.com/tobato/FastDFS_Client
https://github.com/happyfish100/fastdfs-client-java
1、添加依赖
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
<version>1.26.5</version>
</dependency>
2、配置application.yml
fdfs: so-timeout: 1501 connect-timeout: 601 thumb-image: width: 150 height: 150 tracker-list[0]: 192.168.68.252:22122 serverce-port: 192.168.68.252:8888
3、按需注入主要接口
- TrackerClient - TrackerServer接口
- GenerateStorageClient - 一般文件存储接口 (StorageServer接口)
- FastFileStorageClient - 为方便项目开发集成的简单接口(StorageServer接口)
- AppendFileStorageClient - 支持文件续传操作的接口 (StorageServer接口)
注意,这是1.26.5版本,1.26.4版本需要引入
FastDFS-Client 1.26.4版本以前引入方式 将FastDFS-Client客户端引入本地化项目的方式非常简单,在SpringBoot项目/src/[com.xxx.主目录]/conf当中配置 /** * 导入FastDFS-Client组件 * * @author tobato * */ @Configuration @Import(FdfsClientConfig.class) // 解决jmx重复注册bean的问题 @EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING) public class ComponetImport { // 导入依赖组件 }
记录一下知识点,方便日后查阅
浙公网安备 33010602011771号