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

公司为了好几个产品间的数据同步与共享,要求产品部做出个方案来,对于这个问题,要满足两个条件:1 应用集群2 多机集群,所以针对多机应用集群的上载文件处理可以采用以下几种方式。
1. 存入数据库
将上载的文件存入数据库可以很好解决这个问题,目前主流数据库对大字段都有很好的支持,如oracle等。
  应用范围:集群中的各个应用共用一个数据库(或数据库集群),对于文件的读取则不再有任何问题。
  缺点:1. 如果不同的应用对数据的处理量较大,则存库的内容就会导致数据库的数据量非常大,数据库的开销较大,影响整个应用的性能。
   2. 对于应用集群共用一个库,不是很现实,尤其是那些有自己应用系统特殊权限的,对库的控制较严。
2. 采用共享目录
设置一个共享目录,将上载文件存储在这个共享目录中,集群中的各个应用均访问这个共享目录即可。
对于共享目录,现在有比较成熟的技术,如NFS。

独立的文件服务器
把上传下载的部分独立成web系统,对不同的系统应用提供单独的接口。
应用范围:需要自己开发组件,控制上传与下载。可以利用socket、FTP协议与服服务器端做连接。
优缺点:
1. 自己写服务端与客户端组件。纯socket通信、或者是借用mina框架,并发性、性能不好不一定有很好的效果。
2. 利用开源的组件搭建服务端。只需写客户端。 像FTP服务器,本身就支持大文件的数据传输。自己开发客户端,但是对上传下载的控制,不好处理。对第三方组件的依赖性,第三方组件对系统环境的依赖性等都比较繁琐。
3. 第三方开源的文件服务器。例如 淘宝的开源文件系统 :TFS。以及像 fastFS。Hadoop的hdfs等等。其都是建立在特定的应用中。TFS就是正对小文件的海量存储。虽然在性能、集群、容灾方面都有不存的表现,但是对于不同的应用,不一定满足自己的应用。

从以上角度来看,共享目录还是中小企业比较实用并且有效的方法。大家有什么看法,可以继续探讨。技术上,方案上,随便说。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值