这是基于云存储系统的最佳智能自动文件复制解决scheme

我正在寻找一个我正在从事的项目的解决scheme。

我们正在开发一个networking系统,人们可以上传文件,其他人可以下载文件。 (类似于rapidshare.com模式)

问题是,有些文件可能比其他文件要求更多。 scenerio是这样的:我已经上传了我的生日video,并与我所有的朋友分享了,我已经上传到myproject.com,它被存储在一个具有100mbit连接的群集中。

问题是,一旦我所有的朋友想要下载文件,他们不能下载,因为这里的瓶颈是100mbit,每秒15MB,但我有1000个朋友,他们只能下载每秒15KB。 我没有考虑到硬盘正在提供相同的文件。

我的networking基础架构如下:1千兆位服务器(客户端),并连接到具有100位连接的存储服务器的4个节点。 1gbit服务器可以处理1000个用户的stream量,如果其中一个存储节点可以以每秒15MB以上的速度stream入我的1gbit(客户端)服务器,访问者将直接从客户端服务器而不是存储节点stream式传输。 我可以通过将文件复制到2个节点来完成。 但我不想复制上传到我的networking的所有文件,因为它花费更多。

所以我需要一个基于的系统,当这些文件需求较高的时候,会自动将这些文件推送到复制节点中,而当需求较低时,它们将从其他节点中删除,并且只保留一个节点。

我已经看着gluster,并在他们的irc频道问,gluster不能做这样的事情。 它只能够复制所有的文件或没有文件。 但是我需要集群软件来自动完成。

任何解决scheme (而不是推荐我的amazon s3)

小号

我会先修复devise,而不是为现有的devise增加不必要的复杂性。

具体来说,为什么一台服务器有1Gbps的连接,而其他服务器只有100Mbps? 把它们全部放在FW / LB / Proxies前面的同一个非阻塞交换机上 – 这将一举解决你的复制问题。

哦,我很想知道如何在100Mbps的链路上达到15MBps,你是在一个7位的世界里工作吗? 🙂

这听起来像你正在描述一个反向代理设置。 看一下维基百科的文章 ,也许是nginx服务器 – 你也可以用squid或apache-httpd获得类似的结果。