FastDFS的工作原理--应用(三)

FastDFS的工作原理–应用

emmm,第一次写三部曲哈哈哈哈。

FastDFS的应用:
一、配置客户端
修改 /etc/fdfs/目录下的client.conf 文件;
修改要点:
base_path=/opt/fastdfs_tracker #tracker服务器文件路径
tracker_server=192.168.43.60:22122 #t换成自己的虚拟机的ip和端口号
http.tracker_server_port=8080 # tracker 服务器的 http端口号,必须和tracker的设置对应起来

二、模拟上传
上传图片测试;
fdfs_upload_file /etc/fdfs/client.conf /home/antonixu/hello/mx2.jpeg
最后一个文件的路径一定要正确,否则就会找不到;
成功后会返回图片存储路径:
在这里插入图片描述
图片的命名大概就是根据这个来的:
FastDFS的工作原理--应用(三)_第1张图片
测试完毕后,直接在使用java和fastdfs实现交互,简单介绍:
FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
虽然FastDFS的搭建比较繁琐,但是只要搭建成功,剩下的工作就非常简单,我们只需要知道FastDFS的ip地址和文件名就可以快速的完成上传和下载操作;
Java具有完备的工具访问FastDFS,相关依赖:

  <dependency>
   	<groupId>com.github.tobato</groupId>
   	<artifactId>fastdfs-client</artifactId>
   	<version>1.26.6</version>
   </dependency>

我一开始添加的是1.26的版本的,但是在最后运行的时候发现找不到这个ip+端口号,换了高版本的依赖就可以了。

先创建一个模块,也是client,添加上述依赖之后,编写配置文件:

server.port=9108
spring.application.name=fdfs
eureka.instance.instance-id=fdfs
eureka.client.service-url.defaultZone=http://127.0.0.1:9100/eureka/

fdfs.trackerList=192.168.191.129:22122
fdfs.connect-timeout=10000
fdfs.so-timeout=8000
fdfs.pool.max-total=200
fdfs.pool.max-total-per-key=20
fdfs.pool.max-wait-millis=25000
fdfs.thumbImage.height=150
fdfs.thumbImage.width=150

fdfs.trackerList=192.168.191.129:22122这个是虚拟机的ip+端口号;

创建启动类:

@Configuration
@Import(value = FdfsClientConfig.class)
@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
public class MyConfig {
}

创建控制层:

@Controller
public class TestFDFS {
   @Autowired
   private FastFileStorageClient storage;
   @RequestMapping("fast1")
   @ResponseBody
   public String fun1(@RequestParam("upfile") MultipartFile mf)throws IOException{
       StorePath fn=storage.uploadFile(mf.getInputStream(),mf.getSize(),
               FilenameUtils.getExtension(mf.getOriginalFilename()),
               null);
       return fn.getFullPath();
   }
}

注册中心打开之后,会显示一个连接超时的错误,这个错误是因为需要关闭linux的防火墙:
在这里插入图片描述
一开始找设置找了半天,后来发现是从终端上关的,吐血。。。
在这里插入图片描述

成功了:
在这里插入图片描述
在刚才测试的过程中发现了拒绝访问,,,,于是我又重新打开了虚拟机上面的tracker和storage服务就好了,我也不知道是不是这个原因,但是我记得我设置成了开机启动了啊。。。。

你可能感兴趣的:(springcloud)