我们使用 EC2 , EBS 服务在 AWS 部署了一个应用程序。 基础架构按层(独立实例)删除:
应用程序(带负载均衡器)
数据库(主从标准架构)
媒体服务器(流媒体)
后台处理(redis,delayed_job)
应用程序和数据库实例使用EBS块存储设备(根,数据)的数量,这有助于我们附加/分离它们并将EBS快照执行到S3。这是AWS工作的默认方式。
但EBS应位于特定区域,并且只能在同一时间附加到一个实例。
媒体服务器是瓶颈之一,因此我们希望使用主/从架构来扩展它们。所以对于媒体服务器存储我们想尝试分布式文件系统可以连接到多个服务器。你有什么建议?
答案 0 :(得分:1)
如果您不是Facebook或亚马逊,那么您没有理由使用像Hadoop或Cassandra那样精心设计的东西。当您达到这种增长水平时,您将能够负担得起可以为您的问题选择/设计完美解决方案的工程师。
与此同时,我强烈建议使用GlusterFS进行分布式存储。它非常易于安装,配置,启动和运行。此外,如果您当前正在从本地存储流式传输文件,您会发现GlusterFS还充当本地存储,同时仍可由多个服务器访问。换句话说,不需要对您的应用程序进行任何更改。
我无法告诉您特定应用程序的确切配置选项,但有许多可用的选项,例如分布式,复制的,条带化数据。您还可以使用缓存设置来避免在每个请求等上访问磁盘。
有一点需要注意,由于GlusterFS是一个高于其他存储层的层(特别是亚马逊),因此您可能无法获得令人印象深刻的磁盘性能。实际上,为了可扩展性,它可能比你现在的情况要糟糕得多......基本上你可以更好地设计你的应用程序,从已经拥有适合你的应用程序类型的正确基础设施的CDN提供流媒体。这是值得考虑的事情。
答案 1 :(得分:0)
同样的问题(如果我理解正确的话):
Lustre, Gluster or MogileFS?? for video storage, encoding and streaming
有许多分布式文件系统,只需找到你需要的文件系统 以上只是我个人知道的部分(尚未测试过)。