linux————fastDFS说明

来源:互联网 发布:数学分析视频知乎 编辑:程序博客网 时间:2024/06/03 04:19

    FastDFS是一款开源的,分布式文件系统。其中分布式用到了三点。client客户端  tracker服务,storage组服务

看下三者的关系结构


1、tracker群重点 tracker相互独立,不进行通信

2、storage群的各个storage组相互独立,不进行通信。但是每个storage组内的storage是同步的。也就是说storage组内的storage保存相同的数据。

3、每个storage会启动单独的线程主动向tracker的每个tracker报告其状态信息,包括磁盘使用情况,文件同步情况以及文件上传下载次数统计信息。

文件上传

1、client通过tracker serve 将文件上传到storage server

2、tracker server 向client返回一台可用的storage server的IP地址和端口号。也就是说client并不知道storage的地址和端口号。

3、client直接通过tracker server返回的IP地址和端口与其中的一台Storage server家里连接并进行文件上传。

4、上传文成,storage server返回client一个文件ID,文件上传结束。


文件下载流程


client通过tracker server 下载指定的storage组中的某个storage server上的某个文件

tracker server向client返回一台可用的storage server的IP地址和端口号。

client直接通过tracker server返回的IP地址和端口号与其中一台storage server建立连接并进行文件下载。


java_——fastDFS上传文件

@Testpublic void testUpload() throws Exception{//定义tracker的服务地址ClientGlobal.init("D:\\eclipse\\taotao-manager\\taotao-manager-web\\src\\main\\resources\\properties\\client.conf");//生成 tracker的客户端TrackerClient trackerClient = new TrackerClient();//与tracker server建立连接TrackerServer trackerServer = trackerClient.getConnection();//声明storage serverStorageServer storageServer = null;//然后通过tracker server获取storage clientStorageClient storageClient = new StorageClient(trackerServer,storageServer);//上传文件,然后获取返回的文件IDString[] strs = storageClient.upload_file("C:\\Users\\WGP\\Pictures\\c7c6138367d50712383944942cff75c0.jpg", "jpg", null);for(String str:strs){System.out.println(str);}}


client.conf内容

#指向自己虚拟机的ip和port

tracker_server=192.168.41.130:22122    


原创粉丝点击