微服务部署文件处理方案

在做微服务的时候,因为要布置多个节点,每个节点都要处理文件的上传和下载。因为多个节点在不同的服务器上,如果让每个节点单独去处理文件,那么文件就会存储到当前节点的服务器上。为了解决这个问题,第一时间想到的是再做一个文件服务节点,每个业务节点都去调用这个文件节点去处理。这样所有的文件数据都可以保存到文件服务的服务器上,可以解决多个节点文件互相取不到的问题。做了一段时间后,发现有更好的方案可以替代这种模式,就是做一个文件夹映射,文件存储问题得到了很好的解决。方便实用。下面说下具体怎么实现的。

使用了三台服务器(linux  centos7+)

1:三台服务器,ip分别是192.168.0.172、192.168.0.176、192.168.0.179。其中172和176作为服务节点,部署我们的业务代码,179作为文件存储服务器。这台服务器的硬盘做了read1。

2:在179这台服务器上,安装nfs。

命令:yum install nfs-utils


yum install nfs-utils

启动nfs命令:service nfs start

service nfs start

启动rpcbind命令:service rpcbind start

service rpcbind start

3:创建一个共享文件夹nas

命令:mkdir nas

mkdir nas

给nas文件夹付读写权限

命令:chmod 777 nas

chmod 777 nas

4:配置共享

命令:vi /etc/exports              在文件中写入:/root/nas/ *(insecure,rw,async,no_root_squash)   

写入 /root/nas/ *(insecure,rw,async,no_root_squash)   

其中insecure比较关键,如果不加这个值的时候,有时候配置共享的时候会报错,是因为用了大于1024的端口。

5:在172和176这两台服务器上,同样配置安装下nfs。启动nfs和rpcbind。创建存储文件夹mkdir data。赋权chmod 777 data。

6:在172和176上把data文件夹跟179的nas文件夹做映射关系。 

命令:mount -t nfs 192.168.0.179:/root/nas /root/data

mount -t nfs 192.168.0.179:/root/nas /root/data

解除映射命令:umount -t nfs 192.168.0.179:/root/nas /root/data

解除时,有可能提示文件夹被占用,需要先把进程杀掉  使用命令:fuser -m -v /root/data

 命令fuser需要安装:yum install -y psmisc


这样配置好后,就可以把服务节点上的上传和下载,直接配置到当前服务器的data文件夹中。实现资源共享。硬盘本身还做了容灾处理。

你可能感兴趣的:(微服务部署文件处理方案)