如何在AWS上使用多个EC2实例保存媒体文件

时间:2012-05-07 04:20:31

标签: amazon-s3 amazon-ec2 amazon-web-services

在我的申请中;用户可以上传视频,我希望将它们保存在文件系统而不是数据库中。如果我使用Amazon Web Services(AWS)并且只使用一个带有EBS的EC2实例(用于存储)则可以。 但是如果我使用自动缩放或多个EC2实例;然后,如果用户上传视频,则将其保存在EC2之一(与EBS之一相关联)上。下次如果用户登录(或者如果会话粘性不存在;那么如果用户的下一个请求转到另一个EC2实例),它将如何访问他的视频?

这个问题的最佳解决方案是什么?使用S3是唯一的解决方案,但为此我不能简单地做java.io.File ..我想我将不得不使用AWS SDK api来访问上传的视频..但是那会慢吗?

有没有更好的解决方案?

2 个答案:

答案 0 :(得分:4)

我会使用Amazon S3。如果您使用其他亚马逊网络服务,它速度快,相对便宜并且运行良好。

您可以先上传到EC2实例,然后使用Simple Workflow Servie自动集中传输文件。如果您想稍后将视频重新编码为多个比特率,这也很有用。

答案 1 :(得分:0)

您需要设置NAS。它可以是NFS或类似GlusterFS的东西。后者是现代的,它可以很好地扩展......