我公司接了这么一个项目,主要功能是一个虚拟商品交易平台(虚拟商品主要是建筑设计图,室内装修设计图之类的)。客户提到,将来这个网站发展的好,是要运行在多台服务器上的,需要我处理好文件的存取的问题。项目大概2W左右,由我一人来做。
我对负载均衡啊、分布式的存储的都不太熟悉,再说也没有找到一个这样的免费的平台。我就想自己开发一个,预计在基础三层架构上添加一层,暂且叫做文件访问层(File Access Layer)吧。这层负责在用户上传文件时,将文件存放到一个比较空闲的服务器上,这个服务器并不要求是WEB服务器(自己写东西,总是喜欢把功能设计的越强越好,其实根本没有想过自己有没有那水平^_^)。只是至今这代码也没 写一行,原因有很多.一个是我的水平.我的水平目前还是新手阶段.一个是我想,就把这层的功能构划的越复杂,还有一个是我的时间,我只有三个半月要完成这整个项目(实际花费的时候,远超这个时间.:)).
今天我突然想到一个变通的方法,反正是要跑在多个Web服务器上,不如上传的不变,就直接存在一个文件夹下面,NTFS分区最大支持2T,随便搞3台,也就6T了,总够用几年了吧,虽然用负载不会让各台服务器平均分配,至少也差不会太大吧.这就解决了存的问题.再说一下取的问题,这就要做一个WebService,取文件时,首先检测本地磁盘上有没有要求的文件,如果没有,则通过WebService检测文件在哪个服务器上,找到了,就将请求转过去,找不着,就提示找不到.这就解决了取的问题.这个解决方案,虽然不是很好,不过够简单.:)
欢迎大家就此发表高见...