首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于静态文件的服务器集群

用于静态文件的服务器集群
EN

Server Fault用户
提问于 2014-08-30 12:51:14
回答 1查看 464关注 0票数 0

如果这个问题(必要的话)可能有点宽泛,我事先表示歉意。我会尽力把它保持在一个有效的问题的形式上。

我目前正在设置一个后端,用于服务大量的静态文件(具体而言,是图像)。最终产品的总体流量预计将是巨大的,因此可扩展性和规避各种瓶颈是必须的。

我的初步结论是,最好的方法是设置一个虚拟服务器集群来处理请求。我将使用标准的负载平衡策略,以确保客户机请求在集群中的节点间平均分配,因此这部分没有问题。

如何有效地将静态文件本身存储在集群中是一个问题。我们期望有大量(兆字节范围)的数据存在,而在每个节点上保留镜像文件副本根本就不是一种选择。

看来我基本上只有两种选择:

1)使用一个中心文件服务器,节点可以向该文件服务器发出请求。然而,我发现很难看出如何才能阻止这台服务器成为瓶颈。

2)结合节点上的某种缓存机制,避免了对文件服务器的冗余请求。

( 3)其他一些绝妙的解决方案,可以拯救我的灵魂,使我的灵魂变得过时。

获得这种文件分发的好策略是什么?有什么软件可以这样做?

提前谢谢!

EN

回答 1

Server Fault用户

发布于 2014-08-30 18:55:05

一致环散列是这类问题的经典解决方案,至少在算法上是这样。Swift、memcached、Dynamo、Riak等系统都使用了这种方法来解决这个问题。

OpenStack Swift是一个对象/blob存储库,它使用一致的环哈希来跟踪和分发对象、容器等。您可以使用Swift或类似的东西直接解决方案,或者使用一致的哈希环构建自己的解决方案。使用Swift这样的解决方案的好处是无需自己开发它,另外还包括通过复制、版本控制等方式进行数据保护。

如果您不需要自己运行,而是对托管服务感兴趣,那么像Rackspace云文件 (基于Swift的)或亚马逊S3这样的产品可以提供CDN(分别用于Rackspace和Amazon的Akamai和CloudFront )的对象存储和检索。CDN将大大提高地理分布客户端的检索效率。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/625172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档