2019-03-06 10:25:00.0|分类: docker+node.js+zookeeper构建微服务|浏览量: 2746
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。 存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。 FastDFS系统结构如下图所示:
在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。 当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
FastDFS file upload 上传文件交互过程:
FastDFS file download 下载文件交互过程: 1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名); 需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。 搜索镜像文件 下载镜像文件 创建tracker容器 docker run -ti -d --name trakcer -v ~/tracker_data:/fastdfs/tracker/data --net=host season/fastdfs tracker Tracker服务器的端口默认是22122,你可以查看是否启用端口
构建storage容器(存储服务器,提供容量和备份服务) docker run -tid --name storage -v ~/storage_data:/fastdfs/storage/data -v ~/store_path:/fastdfs/store_path --net=host -e TRACKER_SERVER:192.168.99.100:22122 -e GROUP_NAME=group1 season/fastdfs storage 查看storage容器是否开启 进行storage服务的配置 进入storage容器,到storage的配置文件中配置http访问的端口,配置文件在fdfs_conf目录下的storage.conf。 docker exec -it storage bash 查看storage.conf参数设置,发现tracker_server=192.168.209.121:22122,ip和上面自己设置的ip不一样,所以要进行修改 退出storage容器,并将配置文件拷贝一份出来: docker cp storage:/fdfs_conf/storage.conf ~/ vi ~/storage.conf 将修改后的配置文件拷贝到storagee的配置目录下: docker cp ~/storage.conf storage:/fdfs_conf/ 重启启动容器 查看tracker容器和storage容器的关联 docker exec -it storage bash cd fdfs_conf fdfs_monitor storage.conf docker模拟客户端上传文件到storage容器 docker run -tid --name fdfs_sh --net=host season/fastdfs sh docker cp ~/storage.conf fdfs_sh:/fdfs_conf/ docker exec -it fdfs_sh bash echo hello>a.txt cd fdfs_conf fdfs_upload_file storage.conf /a.txt 到宿主主机查看存储的文件 参考文档: https://hub.docker.com/r/season/fastdfs/ https://blog.csdn.net/weixin_43683052/article/details/84792338 java上传客户端 https://github.com/luhuiguo/fastdfs-client https://blog.csdn.net/zhangcongyi420/article/details/82958495 https://mvnrepository.com/artifact/com.github.tobato/fastdfs-client http://maven-repository.com/artifact/com.github.tobato/fastdfs-client/1.25.1-RELEASE |