2

我应该在下面的应用中使用什么样的架构?跨群集管理大型对象。

在我们的SAAS应用程序中,每个客户都获得一个文件目录。这些文件可能非常大,需要快速读取和写入。有时客户会看到非常繁重的使用情况,需要将这些文件复制到多个盒子中以处理负载。对文件的任何更改都需要在合理的时间段(不到一分钟)内复制。

每位客户获取一个子域名customername.mydomain.com。不知何故,对这个子域名的请求需要路由到一个包含客户文件的框。客户需要被添加到系统并动态地分配给框。

我在想着只是有一个服务器列表,然后哈希在客户名称分配客户,但这使得很难添加额外的盒子。

我们正在使用亚马逊来承载应用程序。 S3可以成为解决方案的一部分。但是这些文件无法单独存在于S3上,因为没有快速的随机访问文件内容。

我需要知道如何为客户指定方框,如何管理复制,如何正确路由子域以及如何以动态方式执行此操作。我们的首选语言是Java,但其他语言都可以。

我意识到这是一个巨大的问题。我怀疑是否有开箱即用的解决方案,但请列出它们。

+0

您使用什么协议访问文件? HTTP? – LawfulHacker

+0

访问它们的服务器需要本地文件。我需要超快速的随机访问。 – ccleve

+0

IMO这个问题对于SO来说太广泛了。我投票结束......解决这个问题可能需要很多努力。 – home

回答

0

老实说,如果您已经在AWS,使用云形成按需启动一个盒子,请在前面添加一个ELB,以处理您的路由问题。

在启动盒子上,从该客户的S3下载文件到本地磁盘上。

设置一项每30-60秒运行一次的作业以检查S3上的新文件,并根据需要推送/拉下它们。