人之所以痛苦,那是因为你在成长。——–magic_guo
微服务项目,由于访问量和系统的高可用性能,会将上传的文件图片等存放在搭建的分布式文件存储系统;现在比较流行的文件存储系统有fastDFS和OSS(在下一篇描述);但是两者各有利弊:
1、fastDFS的搭建需要更多的资源,搭建步骤繁琐,还要考虑到后期的维护成本;
2、OSS是阿里云的存储服务,只需要一些配置就可以乱传乱滋溜,也不用考虑后期维护问题,等项目的访问量上来以后,只管拿钱配置就可以了;毕竟钱这东西,谁说不香呢!!
今天我们两个列子都搭建一波,具体的选择,还要业务需求和项目资金来考虑;
使用docker来搭建fastDFS:
搭建DFS有两种方式,一种是在服务器上下载fastDFS的压缩包来安装,再进行一系列的配置(确实比较繁琐);另一种是在服务器上直接起docker服务,docker镜像已经将大部分的配置搞定了,其余的就是一些简单必要的配置,如容器之间的通信等。
1、进入dockerhub官 ,搜索fastdfs镜像:
然后我们去虚拟机拉取此镜像:
先搜索此镜像:
docker -dit:
-d:–detach:在后台运行容器,并且打印容器id
-i:–interactive:即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用
-t:–tty:分配一个伪tty,一般与 -i 连用
总的来说就是:在后台启动此容器,以标准输入的方式给容器产生一个交互性shell命令行
–name storage1:给次容器起个别名为storage1
-e TRACKER_SERVER=tracker:22122:设置一个名为TRACKER_SERVER的环境变量为,并绑定内容为tracker:22122;
-v /var/fdfs/storage1:/var/fdfs:这是宿主机与docker之间挂载的共享目录卷
ygqygq2/fastdfs-nginx:latest:镜像的名字和tag;(表示是最新版本的镜像)
最后一个storage表示此容器为 storage类型;
其中storage的整条命令的意思为:起一个storage类型的容器,名字为storage1,设置环境变量为tracker的host和端口,并挂在一些宿主机和容器的目录;
解释一下fastDFS的真个存储架构:
Storage server
Storage server以组(卷,group或volume)为单位组织,一个group内包含多台storage机器,数据互为备份,存储空间以group内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费;
启动镜像:
启动命令更改过以后,先启动tracker的服务镜像,再启动storage服务镜像(如果只是测试,可以启动一个);
启动后可以看到是三个容器已经起来了:
静下心,慢慢来,会很快!
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92389 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!