多机集群对上载文件的处理方式

之前有客户问到我们的平台产品对集群环境下上载文件是如何处理的。针对这个问题查找了下相关资料,现总结如下。

对于这个问题,要满足两个条件:1 应用集群2 多机集群,所以针对多机应用集群的上载文件处理可以采用以下几种方式。

存入数据库

将上载的文件存入数据库可以很好解决这个问题,目前主流数据库对大字段都有很好的支持,如oracle等。

将上载文件存入数据库后,由于集群中的各个应用共用一个数据库(或数据库集群),对于文件的读取则不再有任何问题。

采用共享目录

设置一个共享目录,将上载文件存储在这个共享目录中,集群中的各个应用均访问这个共享目录即可。

对于共享目录,现在有比较成熟的技术,如NFS

使用NFS

NFSNetwork File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

NFS组成

NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在服务器上的数据。为了正常工作,一些进程需要被配置并运行。

NFS配置方式

NFS的配置过程相对简单。这个过程只需要对/etc/rc.conf文件作一些简单修改。

1 NFS服务器这端,确认/etc/rc.conf 文件里头以下开关都配上了: rpcbind_enable=”YES”

nfs_server_enable=”YES”

mountd_flags=”-r”

只要NFS服务被置为enablemountd 就能自动运行。

2 在客户端一侧,确认下面这个开关出现在 /etc/rc.conf里头:

nfs_client_enable=”YES”

/etc/exports文件指定了哪个文件系统 NFS应该输出(有时被称为”共享”)。

/etc/exports里面每行指定一个输出的文件系统和哪些机器可以访问该文件系统。在指定机器访问权限的同时,访问选项开关也可以被指定。

以上简单介绍了可以采用的几种方式,客户在使用平台的时候可以选用,由于目前我们的平台上传的文件都是存储在服务器硬盘上,所以建议客户采用共享目录(NFS等)的方式解决该问题。